c++函数的升级
該博文為原創文章,未經博主同意不得轉載,如同意轉載請注明博文出處
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105148104
函數的升級
- 內聯函數
- 函數默認參數:
- 函數占位參數:
- 函數的重載
- c++和c的相互調用
內聯函數
a.內聯函數的來源:c++中使用const常量代替#define宏常量,如 const int a = 10; 與 #define a 10,這樣就可以避免宏的副作用。那c++用什么替代宏代碼片段呢?就是使用內聯函數。
b.內聯函數其實是對c++編譯器的一種內聯請求,內聯函數在最終生成的代碼中是沒有定義的,c++編譯器直接將函數體插入到函數調用的地方,并且沒有普通函數調用時的額外開銷(壓棧、跳轉、返回),所以說它可以代替宏代碼片段。同時內聯函數是一種特殊的函數,它依然具有函數的特性(參數檢查、返回類型),使用起來比宏代碼片段要安全的多(內聯函數是由編譯器處理的,直接將編譯后的函數體插入調用的地方,而宏代碼片段是由預編譯器處理的,進行簡單文本替換,沒有任何編譯過程)。因為內聯函數是對編譯器的請求,所以編譯器不一定會允許內聯請求!(這個跟編譯器的設置選項中的優化級別有關系)
c.內聯函數的形式&
總結
- 上一篇: u盘启动 电脑密码怎么取消密码是多少 取
- 下一篇: 电脑wlan没有了怎么办 电脑WLAN断