[問題] inline 的使用

看板C_and_CPP (C/C++)作者 (NI)時間16年前 (2009/08/17 10:27), 編輯推噓6(607)
留言13則, 8人參與, 最新討論串1/1
請問一下 在寫member function的時候 inline的使用時機 只要單純是行數少就可以嗎? 如果是的話 大概都在幾行以內呢? 這是剛剛在練習寫stack的時候 突然想到的問題 像是operator overloading的時候 我寫+=就只有一行code就是呼叫push(element); 這時候用inline理論上會得到比較高的效率嗎? 因為不太瞭解電腦建立函數的實際運作情形 所以請版上各位解惑一下,謝謝︿︿ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.234

08/17 10:35, , 1F
用也可以 不用也可以 編譯器有自由意志 編譯器決定一切
08/17 10:35, 1F

08/17 10:37, , 2F
@@意思是說其實如果適合inline compiler都會自動??
08/17 10:37, 2F

08/17 11:03, , 3F
inline是一個要求 , 編譯器可以決定要不要inline
08/17 11:03, 3F

08/17 11:04, , 4F
跟register variable一樣的意思囉?_?
08/17 11:04, 4F

08/17 11:04, , 5F
google coding style裡有提到10行這個數字可以參考看看
08/17 11:04, 5F

08/17 11:06, , 6F
寫inline只是建議compiler可以把他搞成inline 不一定一定是
08/17 11:06, 6F

08/17 11:06, , 7F
inline
08/17 11:06, 7F

08/17 11:08, , 8F
所以是有寫inline有機會,沒寫沒機會囉?
08/17 11:08, 8F

08/17 11:31, , 9F
慧慈:YES
08/17 11:31, 9F

08/17 14:38, , 10F
寫不寫都有機會。
08/17 14:38, 10F

08/17 14:50, , 11F
的確印象中現在compiler optimize是都有可能自己inline
08/17 14:50, 11F

08/17 14:50, , 12F
或自己register variable; 所以要刻意關還得自己去設:)
08/17 14:50, 12F

08/17 16:40, , 13F
寫了不一定會放 不寫不一定就不放 compiler is anything!
08/17 16:40, 13F
文章代碼(AID): #1AYC0eLn (C_and_CPP)
文章代碼(AID): #1AYC0eLn (C_and_CPP)