課程
/后端開發(fā)
/C++
/C++遠(yuǎn)征之封裝篇(上)
Student *p = new Student()? 和 Student *p = new Student;
有什么區(qū)別么,都是可以運(yùn)行的呀
2015-07-20
源自:C++遠(yuǎn)征之封裝篇(上) 5-1
正在回答
不加括號代表默認(rèn)初始化(default initialize),類型后加上空括號代表值初始化(value initialize)。
對于有構(gòu)造函數(shù)的類,這兩種形式都是調(diào)用其默認(rèn)構(gòu)造函數(shù)。沒有區(qū)別。
但對于built-in類型,由于沒有默認(rèn)構(gòu)造函數(shù),所以默認(rèn)初始化會導(dǎo)致初值未定。而值初始化則一般會初始化為0。
一些string類型的字符串. 他們不是初始化null的么
意思就是在對于有構(gòu)造函數(shù)的類 加與不加()都是沒關(guān)系的;
而對于沒有構(gòu)造函數(shù)的類,
加()會初始化對象的值,也就是String = null,int/float/double = 0,
不加()則不會,值就會隨編譯器而定;
這樣理解對么?
onemoo
舉報(bào)
封裝--面向?qū)ο蟮幕?,本教程力求幫助小伙伴們即學(xué)即會
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-07-21
不加括號代表默認(rèn)初始化(default initialize),類型后加上空括號代表值初始化(value initialize)。
對于有構(gòu)造函數(shù)的類,這兩種形式都是調(diào)用其默認(rèn)構(gòu)造函數(shù)。沒有區(qū)別。
但對于built-in類型,由于沒有默認(rèn)構(gòu)造函數(shù),所以默認(rèn)初始化會導(dǎo)致初值未定。而值初始化則一般會初始化為0。
2015-07-22
一些string類型的字符串. 他們不是初始化null的么
2015-07-21
意思就是在對于有構(gòu)造函數(shù)的類 加與不加()都是沒關(guān)系的;
而對于沒有構(gòu)造函數(shù)的類,
加()會初始化對象的值,也就是String = null,int/float/double = 0,
不加()則不會,值就會隨編譯器而定;
這樣理解對么?