看板 C_and_CPP 關於我們 聯絡資訊
請問一下 在寫member function的時候 inline的使用時機 只要單純是行數少就可以嗎? 如果是的話 大概都在幾行以內呢? 這是剛剛在練習寫stack的時候 突然想到的問題 像是operator overloading的時候 我寫+=就只有一行code就是呼叫push(element); 這時候用inline理論上會得到比較高的效率嗎? 因為不太瞭解電腦建立函數的實際運作情形 所以請版上各位解惑一下,謝謝︿︿ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.234
chrisdar:用也可以 不用也可以 編譯器有自由意志 編譯器決定一切 08/17 10:35
flax00298:@@意思是說其實如果適合inline compiler都會自動?? 08/17 10:37
iamivers0n:inline是一個要求 , 編譯器可以決定要不要inline 08/17 11:03
VictorTom:跟register variable一樣的意思囉?_? 08/17 11:04
iamivers0n:google coding style裡有提到10行這個數字可以參考看看 08/17 11:04
QQ29:寫inline只是建議compiler可以把他搞成inline 不一定一定是 08/17 11:06
QQ29:inline 08/17 11:06
flax00298:所以是有寫inline有機會,沒寫沒機會囉? 08/17 11:08
kvykn:慧慈:YES 08/17 11:31
tinlans:寫不寫都有機會。 08/17 14:38
VictorTom:的確印象中現在compiler optimize是都有可能自己inline 08/17 14:50
VictorTom:或自己register variable; 所以要刻意關還得自己去設:) 08/17 14:50
hilorrk:寫了不一定會放 不寫不一定就不放 compiler is anything! 08/17 16:40