91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c++中如何使用inline內聯函數

發布時間:2021-07-06 17:39:31 來源:億速云 閱讀:151 作者:Leah 欄目:編程語言

c++中如何使用inline內聯函數,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

問題描述:類中成員函數缺省默認是內聯的,如果在類定義時就在類內給出函數定義,那當然最好。如果在類中未給出成員函數定義,而又想內聯該函數的話,那在類外要加上 inline,否則就認為不是內聯的。內聯函數的inline要加在函數前面,不可以加在聲明前面。

class A{  public:void Foo(int x, int y) { } // 自動地成為內聯函數}//正確寫法:// 頭文件class A{  public:  void Foo(int x, int y);}// 定義文件inline void A::Foo(int x, int y){} //錯誤寫法:inline void Foo(int x, int y); // inline 僅與函數聲明放在一起void Foo(int x, int y){}

1. 內聯函數作用:為了解決一些頻繁調用的小函數大量消耗棧空間(棧內存)的問題,特別的引入了 inline 修飾符,表示為內聯函數。

例子:

#include <stdio.h>//函數定義為inline即:內聯函數inline char* dbtest(int a) {  return (i % 2 > 0) ? "奇" : "偶";}  int main(){  int i = 0;  for (i=1; i < 100; i++) {    printf("i:%d  奇偶性:%s /n", i, dbtest(i));    }}

內聯函數是在程序編譯的時候替換的方式加入程序中的。

2. 內聯函數使用的限制:

inline 的使用是有所限制的,inline 只適合涵數體內代碼簡單的涵數使用,不能包含復雜的結構控制語句例如 while、switch,并且不能內聯函數本身不能是直接遞歸函數(即,自己內部還調用自己的函數)。

代碼較長,內部出現循環不適合使用內聯函數。

3. 內聯函數只是一個對編譯器的建議,具體實不實現看編譯器認為函數復不復雜。

4.內聯函數最好放在頭文件中。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐至县| 和田县| 阿鲁科尔沁旗| 松滋市| 剑阁县| 梨树县| 磴口县| 旬邑县| 仙桃市| 长治县| 神农架林区| 多伦县| 营山县| 互助| 洪江市| 南城县| 古蔺县| 锡林郭勒盟| 泰宁县| 南充市| 崇州市| 贵德县| 山阳县| 乌什县| 岐山县| 杂多县| 遂溪县| 榕江县| 新邵县| 浦江县| 襄汾县| 大港区| 牟定县| 淮阳县| 萝北县| 丹凤县| 滨海县| 镇雄县| 虎林市| 兴义市| 新乐市|