C++ 爲什麼難學 ?

因爲C++自帶勸退屬性,很多人學着學着就放棄了, 適不適合當程序員很難判斷,但是C++是一塊不錯的試金石。

 
From Twitter 
Chang Wei 昌維
@changwei1006
在知乎刷到一個討論C++ UB的問題,忽然想起之前一段家教經歷: 帶某位想要成爲OIer的初三小妹妹學C++
我寫了一個C++的function給她看,她問我末尾的return是什麼意思,我說這表示函數返回值的意思。
我問她之前沒有學過這個關鍵詞嗎,她說沒有。 我當時就請她把之前寫過的代碼給我看一下,我當時就驚了

 
 
walker
@WalkerRepo
厲害了,寫了這麼多年代碼還沒有注意到這個。 特意去看了一下反彙編代碼,
在gcc下,eax寄存器通常用來做算術運算和返回值,利用這個特性,函數裏面只計算一次的結果正好存放在eax寄存器中,
在回到caller地方,直接讀取eax寄存器的值,作爲返回值來使用,妙呀~
 
圖像
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章