首頁 > 問答 > 主體
void x(){ thisIsALongFunction(); }
如上图所示的代码, x()中只有一句话, 但是它所调用的函数很长, 这种情况下需要inline吗?
x()
inline
巴扎黑2017-04-17 14:29:40
向你這種情況編譯器會直接inline掉外層的函數。
高洛峰2017-04-17 14:29:40
inline只是向編譯器提出建議,並非強制。
然而主流編譯器的實作上,會無視你的建議。如果你開了O2,會自動內聯短的函數,一定不會內聯長的函數。所以忽略它吧。
O2
阿神2017-04-17 14:29:40
加吧,內聯過去就是把你那層額外的封裝給解了,裡面那個封裝應該還在
黄舟2017-04-17 14:29:40
不要關心這些問題,最終編譯器優化的程式碼有沒有inline都無所謂。
PHPz2017-04-17 14:29:40
先搞清楚inline是幹嘛的,,