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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C++ defualt 與 自定義默認構造函數(shù) 是否完全等價。

C++ defualt 與 自定義默認構造函數(shù) 是否完全等價。

C++
jeck貓 2018-10-29 09:09:30
class A { public:     A() = default;       A() {}; };如上代碼:上面兩種默認構造函數(shù)是否完全等價?如果不是,請問有什么區(qū)別,什么情況下會有區(qū)別。
查看完整描述

2 回答

?
慕容3067478

TA貢獻1773條經(jīng)驗 獲得超3個贊

首先默認構造函數(shù)的目的是,如果程序員沒有顯式地為一個類定義某個特殊成員函數(shù)而又需要用到該特殊成員函數(shù)時,則編譯器會隱式的為這個類生成一個默認的特殊成員函數(shù)。
我認為default在默認構造函數(shù)的目的是如下:
class A
{
public:
A() = default;

A(int B) {
b = B;
};

private:
int b;
};

A a;//如果沒有A() = default; 那么就會報錯,或者需要你手動實現(xiàn)一個A() { b =0;},所以我認為default只是為實現(xiàn)提供了方便;

至于系統(tǒng)的實現(xiàn)和我們自己的實現(xiàn)是否完全一致,這個不好確定,感覺也沒有必要確定。


查看完整回答
反對 回復 2018-11-03
?
楊__羊羊

TA貢獻1943條經(jīng)驗 獲得超7個贊

取決于你對“等價”的定義。如果是指生成的二進制字節(jié)完全相同,那么不敢保證。
如果是指程序運行的結果,如果你的程序沒有任何涉及到未定義行為的(undefined behavior),那么肯定沒有差異。

查看完整回答
反對 回復 2018-11-03
  • 2 回答
  • 0 關注
  • 847 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號