Inline軟件介紹
在c++中,用戶可以創建實際上不調用的短函數,它們的代碼在每次調用的程序行得到擴展,這個過程類似于使用類函數的宏,為了使一個函數在程序行內進行代碼擴展而不被調用,只要在函數前面加上inline關鍵字即可
Inline 對于編譯器來說是一種請求,而不是命令
在類聲明內定義短函數是有可能的,如果一個函數是在類聲明內定義的,它將被自動轉換為內聯函數,沒有必要在函數聲明之前加上inline 關鍵字,構造函數和析構函數也可以是內聯函數。
Inline軟件特色
(1)內聯函數的作用
●對于內聯函數,C++有可能直接用函數體代碼來替代對函數的調用,這一過程稱為函數體的內聯展開。
●對于只有幾條語句的小函數來說,與函數的調用、返回有關的準備和收尾工作的代碼往往比函數體本身的代碼要大得多。因此,對于這類簡單的、使用頻繁的小函數,將之說明為內聯函數可提高運行效率。 [3]
(2)慎用內聯函數
內聯是以代碼膨脹復制為代價,僅僅省去了函數調用的開銷,從而提高函數的執行效率。如果執行函數體內代碼的時間,相比于函數調用的開銷較大,那么效率的收獲會很少。另一方面,每一處內聯函數的調用都要復制代碼, 將使程序的總代碼量增大,消耗更多的內存空間。以下情況不宜使用內聯:
1)如果函數體內的代碼比較長,使用內聯將導致內存消耗代價較高。
2)如果函數體內出現循環,那么執行函數體內代碼的時間要比函數調用的開銷大。
Inline軟件優勢
引入inline關鍵字的原因
在c/c++中,為了解決一些頻繁調用的小函數大量消耗棧空間(棧內存)的問題,特別的引入了inline修飾符,表示為內聯函數。
??臻g就是指放置程序的局部數據(也就是函數內數據)的內存空間。
在系統下,棧空間是有限的,假如頻繁大量的使用就會造成因??臻g不足而導致程序出錯的問題,如,函數的死循環遞歸調用的最終結果就是導致棧內存空間枯竭。
Inline更新日志
1.對部分功能進行了優化
2.解了好多不能忍的bug
華軍小編推薦:
什么?還沒用過Inline,你知不知道你的好朋友都在用?快來下載吧。小編還為您準備OpenCart、Java2 Runtime Environment、Eclipse IDE for Java EE Developers For Linux(64-bit)、GCC For Linux、Free Pascal
您的評論需要經過審核才能顯示
有用
有用
有用