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

C++成員初始化列表

 更新時間:2022年01月05日 09:53:38   作者:梁唐  
這篇文章主要介紹了C++成員初始化列表,除了可以使用構(gòu)造函數(shù)對類成員進行初始化之外,C++還提供了另外一種初始化的方法,叫做成員初始化列表。下面來看看文章的詳細吧,需要的朋友可以參考一下

文章轉(zhuǎn)自: 公眾號:Coder梁(ID:Coder_LT)

除了可以使用構(gòu)造函數(shù)Classy::Classy(int n, int m): mem1(n), mem2(0), mem3(n*m+2) {
    ...
};類成員進行初始化之外,C++還提供了另外一種初始化的方法,叫做成員初始化列表。

我們假設(shè)Classy是一個類,而mem1,mem2mem3都是這個類的數(shù)據(jù)成員,那么類構(gòu)造函數(shù)可以寫成:

Classy::Classy(int n, int m): mem1(n), mem2(0), mem3(n*m+2) {
? ? ...
};

上述代碼將mem1初始化為n,將mem2初始化為了0,mem3初始化成了n*m+2。這些初始化工作是對象創(chuàng)建是完成的,并且在執(zhí)行花括號中的內(nèi)容之前。

有這么幾點需要注意:

  • 這種格式只能用于構(gòu)造函數(shù)
  • 必須用這種格式初始化非靜態(tài)const數(shù)據(jù)成員(C++11之前)
  • 必須用這種格式初始化引用數(shù)據(jù)成員

數(shù)據(jù)成員被初始化的順序和它們在類中定義的順序相同,和初始化列表中的排列順序無關(guān)。

C++11的類內(nèi)初始化:

C++11當中允許我們直接對成員變量進行賦值:

class Classy {
? ? int mem1 = 10;
? ? const int mem2 = 20;
};

這和在構(gòu)造函數(shù)當中使用成員初始化列表等價:

Classy::Classy() : mem1(0), mem2(20) {...}

我們在類當中直接初始化之后,我們也可以在成員初始化列表當中進行覆蓋:

Classy::Classy(int n) : mem1(n) {...}

在這種情況下,mem1的值會被替換成n。

到此這篇關(guān)于C++成員初始化列表的文章就介紹到這了,更多相關(guān)C++成員初始化列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

厦门市| 东海县| 中西区| 略阳县| 改则县| 太康县| 彭阳县| 武义县| 纳雍县| 新营市| 渑池县| 恩施市| 偃师市| 隆安县| 堆龙德庆县| 古浪县| 尼勒克县| 台前县| 太康县| 莲花县| 宣恩县| 衡阳市| 濉溪县| 五常市| 白河县| 台东市| 达州市| 五家渠市| 丰原市| 若羌县| 遂平县| 云梦县| 开鲁县| 丹凤县| 永春县| 房产| 临夏市| 内乡县| 玛纳斯县| 西平县| 陇川县|