最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++的內(nèi)聯(lián)函數(shù)你了解嗎

 更新時(shí)間:2022年03月16日 16:28:06   作者:表哥抱表弟  
這篇文章主要為大家詳細(xì)介紹了C++的內(nèi)聯(lián)函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

1.概念

以inline修飾的函數(shù)叫做內(nèi)聯(lián)函數(shù),編譯時(shí)C++編譯器會(huì)在調(diào)用內(nèi)聯(lián)函數(shù)的地方展開,沒有函數(shù)壓棧的開銷,內(nèi)聯(lián)函數(shù)提升程序運(yùn)行的效率。

2.函數(shù)演示

我們先來看一下普通的函數(shù):

#include <iostream>
using namespace std;
 int Add(int left, int right) {
	return left + right;
}
int main() {
	Add(1, 2);
	return 0;
}

在匯編代碼我們可以看出函數(shù)調(diào)用和壓棧:

我們在加inline 試試看:

#include <iostream>
using namespace std;
inline int Add(int left, int right) {
	return left + right;
}
int main() {
	Add(1, 2);
	return 0;
}

反匯編:

發(fā)現(xiàn)還是一樣,為什么呢?

在debug版本下編譯器不會(huì)將內(nèi)聯(lián)函數(shù)展開,因?yàn)檎归_就調(diào)試不了.

我們需要設(shè)置一下屬性:(vs2019)

首先我們打開屬性面板:

接下來進(jìn)行調(diào)試:

 沒有函數(shù)的調(diào)用!!

反匯編:

3.函數(shù)特性

1.inline是一種以空間換時(shí)間的做法,省去調(diào)用函數(shù)額開銷。所以代碼很長或者有循環(huán)/遞歸的函數(shù)不適宜使用作為內(nèi)聯(lián)函數(shù)。

2.inline對于編譯器而言只是一個(gè)建議,編譯器會(huì)自動(dòng)優(yōu)化,如果定義為inline的函數(shù)體內(nèi)有循環(huán)/遞歸等等,編譯器優(yōu)化時(shí)會(huì)忽略掉內(nèi)聯(lián)。

3. inline不建議聲明和定義分離,分離會(huì)導(dǎo)致鏈接錯(cuò)誤。因?yàn)閕nline被展開,就沒有函數(shù)地址了,鏈接就會(huì)找不到。

4.可以代替宏定義函數(shù).

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容! 

相關(guān)文章

  • 關(guān)于C++中構(gòu)造函數(shù)初始化成員列表的總結(jié)

    關(guān)于C++中構(gòu)造函數(shù)初始化成員列表的總結(jié)

    下面小編就為大家?guī)硪黄P(guān)于C++中構(gòu)造函數(shù)初始化成員列表的總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • 淺談C++中各種不同意義的new和delete的使用

    淺談C++中各種不同意義的new和delete的使用

    本文主要介紹了淺談C++中各種不同意義的new和delete的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Windows下ncnn環(huán)境配置教程詳解(VS2019)

    Windows下ncnn環(huán)境配置教程詳解(VS2019)

    這篇文章主要介紹了Windows下ncnn環(huán)境配置(VS2019),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • windows消息和消息隊(duì)列實(shí)例詳解

    windows消息和消息隊(duì)列實(shí)例詳解

    這篇文章主要介紹了windows消息和消息隊(duì)列實(shí)例詳解,詳細(xì)講述了Windows的消息機(jī)制與原理,對于深入理解和學(xué)習(xí)Windows應(yīng)用程序設(shè)計(jì)有不錯(cuò)的借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10
  • 實(shí)現(xiàn)opencv圖像裁剪分屏顯示示例

    實(shí)現(xiàn)opencv圖像裁剪分屏顯示示例

    這篇文章主要介紹了實(shí)現(xiàn)opencv圖像裁剪分屏顯示示例,需要的朋友可以參考下
    2014-04-04
  • c++類的隱式轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換重載詳解

    c++類的隱式轉(zhuǎn)換與強(qiáng)制轉(zhuǎn)換重載詳解

    轉(zhuǎn)換函數(shù)的名稱是類型轉(zhuǎn)換的目標(biāo)類型,因此,不必再為它指定返回值類型;轉(zhuǎn)換函數(shù)是被用于本類型的數(shù)值或變量轉(zhuǎn)換為其他的類型,也不必帶參數(shù)
    2013-09-09
  • 10個(gè)步驟Opencv輕松檢測出圖片中條形碼

    10個(gè)步驟Opencv輕松檢測出圖片中條形碼

    這篇文章主要為大家詳細(xì)介紹了Opencv輕松檢測出圖片中條形碼的10個(gè)步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 分享面試官常用16個(gè)c/c++面試題

    分享面試官常用16個(gè)c/c++面試題

    這篇文章主要分享的是面試官常用的16個(gè)c/c++面試題,?C中static有什么作用、C++中const有什么用?C與C++各自是如何定義常量的?有什么不同?等等問題,具有一定的參考資料,需要的小伙伴可以參考一下
    2022-01-01
  • 基于OpenGL實(shí)現(xiàn)多段Bezier曲線拼接

    基于OpenGL實(shí)現(xiàn)多段Bezier曲線拼接

    這篇文章主要為大家詳細(xì)介紹了基于OpenGL實(shí)現(xiàn)多段Bezier曲線拼接,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Linux下C語言的幾道經(jīng)典面試題小結(jié)(分享)

    Linux下C語言的幾道經(jīng)典面試題小結(jié)(分享)

    下面小編就為大家?guī)硪黄狶inux下C語言的幾道經(jīng)典面試題小結(jié)(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論

肇东市| 曲沃县| 高碑店市| 西平县| 吴川市| 青冈县| 桂林市| 汉源县| 河曲县| 岳阳市| 九江市| 南皮县| 绥江县| 万山特区| 凤山县| 农安县| 桂东县| 平南县| 拜城县| 建瓯市| 德清县| 萨嘎县| 固镇县| 仁化县| 剑河县| 丹凤县| 平罗县| 榆树市| 夏河县| 沙湾县| 扎兰屯市| 曲水县| 宾阳县| 富蕴县| 永安市| 集贤县| 宽城| 金阳县| 兰坪| 鹿邑县| 浦北县|