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

溫馨提示×

溫馨提示×

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

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

inline內聯函數怎么在C++項目中使用

發布時間:2021-03-01 16:51:51 來源:億速云 閱讀:132 作者:Leah 欄目:開發技術

本篇文章為大家展示了 inline內聯函數怎么在C++項目中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

指定內聯函數的方法很簡單,只需要在函數定義處增加 inline 關鍵字。請看下面的例子:

#include
using namespace std;
//內聯函數,交換兩個數的值
inline void swap(int *a, int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
}
int main(){
int m, n;
cin>>m>>n;
cout<<m<<", “<<n<<endl;
swap(&m, &n);
cout<<m<<”, "<<n<<endl;
return 0;
}

運行結果:

45 99↙ 45, 99 99, 45

注意,要在函數定義處添加 inline 關鍵字,在函數聲明處添加 inline 關鍵字雖然沒有錯,但這種做法是無效的,編譯器會忽略函數聲明處的 inline 關鍵字。

當編譯器遇到函數調用swap(&m, &n)時,會用 swap() 函數的代碼替換swap(&m, &n),同時用實參代替形參。這樣,程序第 16 行就被置換成:

int temp;
temp = *(&m);
*(&m) = *(&n);
*(&n) = temp;
編譯器可能會將 (&m)、(&n) 分別優化為 m、n。

當函數比較復雜時,函數調用的時空開銷可以忽略,大部分的 CPU 時間都會花費在執行函數體代碼上,所以我們一般是將非常短小的函數聲明為內聯函數。

由于內聯函數比較短小,我們通常的做法是省略函數原型,將整個函數定義(包括函數頭和函數體)放在本應該提供函數原型的地方。下面的例子是一個反面教材,這樣的寫法是不被推薦的:

#include
using namespace std;
//聲明內聯函數
void swap1(int *a, int *b); //也可以添加inline,但編譯器會忽略
int main(){
int m, n;
cin>>m>>n;
cout<<m<<", “<<n<<endl;
swap1(&m, &n);
cout<<m<<”, "<<n<<endl;
return 0;
}
//定義內聯函數
inline void swap1(int *a, int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
}

上述內容就是 inline內聯函數怎么在C++項目中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

聂荣县| 澎湖县| 昌邑市| 常熟市| 溆浦县| 民丰县| 丰宁| 长顺县| 大竹县| 老河口市| 兴化市| 民县| 河曲县| 礼泉县| 石首市| 闽侯县| 昭通市| 温宿县| 淮安市| 普陀区| 应城市| 始兴县| 英山县| 黑河市| 兰考县| 和林格尔县| 邹城市| 台安县| 双江| 宜良县| 尤溪县| 晋城| 普兰县| 平和县| 马公市| 衡山县| 新昌县| 紫阳县| 商河县| 大方县| 新巴尔虎左旗|