第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在這種特殊情況下,使用成員初始化程序列表與在構(gòu)造函數(shù)中分配值之間是否有區(qū)別?

在這種特殊情況下,使用成員初始化程序列表與在構(gòu)造函數(shù)中分配值之間是否有區(qū)別?

C++
紫衣仙女 2019-06-28 17:25:56
在這種特殊情況下,使用成員初始化程序列表與在構(gòu)造函數(shù)中分配值之間是否有區(qū)別?在內(nèi)部和生成的代碼之間,是否存在真正的區(qū)別:MyClass::MyClass(): _capacity(15), _data(NULL), _len(0){}和MyClass::MyClass(){   _capacity=15;   _data=NULL;   _len=0}謝謝.。
查看完整描述

3 回答

?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

假設(shè)這些值是原始類(lèi)型,那么沒(méi)有區(qū)別。僅當(dāng)對(duì)象作為成員時(shí),初始化列表才會(huì)產(chǎn)生影響,因?yàn)槌跏蓟斜碓试S您將對(duì)象初始化到其最終值,而不是使用默認(rèn)初始化和賦值。這實(shí)際上可以明顯地加快速度。


查看完整回答
反對(duì) 回復(fù) 2019-06-28
?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊

您需要使用初始化列表來(lái)初始化常量成員、引用和基類(lèi)。

當(dāng)您需要初始化常量成員、引用和將參數(shù)傳遞給基類(lèi)構(gòu)造函數(shù)(如注釋中提到的)時(shí),您需要使用初始化列表。

struct aa{
    int i;
    const int ci;       // constant member

    aa() : i(0) {} // will fail, constant member not initialized};struct aa{
    int i;
    const int ci;

    aa() : i(0) { ci = 3;} // will fail, ci is constant};struct aa{
    int i;
    const int ci;

    aa() : i(0), ci(3) {} // works};

示例(非詳盡的)類(lèi)/結(jié)構(gòu)包含引用:

struct bb {};struct aa{
    bb& rb;
    aa(bb& b ) : rb(b) {}};// usage:bb b;aa a(b);

以及初始化需要參數(shù)的基類(lèi)的示例(例如,沒(méi)有默認(rèn)構(gòu)造函數(shù)):

struct bb {};struct dd{
    char c;
    dd(char x) : c(x) {}};struct aa : dd{
    bb& rb;
    aa(bb& b ) : dd('a'), rb(b) {}};


查看完整回答
反對(duì) 回復(fù) 2019-06-28
?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

是。在第一種情況下,可以聲明_capacity_data_len作為常量:

class MyClass{private:
    const int _capacity;
    const void *_data;
    const int _len;// ...};

如果你想確保const-在運(yùn)行時(shí)計(jì)算這些實(shí)例變量的有效性,例如:

MyClass::MyClass() :
    _capacity(someMethod()),
    _data(someOtherMethod()),
    _len(yetAnotherMethod()){}

const實(shí)例在初始化程序列表中進(jìn)行初始化。底層類(lèi)型必須提供公共的無(wú)參數(shù)構(gòu)造函數(shù)(原語(yǔ)類(lèi)型所做的)。


查看完整回答
反對(duì) 回復(fù) 2019-06-28
  • 3 回答
  • 0 關(guān)注
  • 412 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)