new自定義類時(shí) 括號(hào)的問(wèn)題
????//?使用new關(guān)鍵字,實(shí)例化對(duì)象 ????Student?*str?=?new?Student;
和
Student *str = new Student();
我再電腦上運(yùn)行了一下,結(jié)果是一樣的。但是區(qū)別是什么?
????//?使用new關(guān)鍵字,實(shí)例化對(duì)象 ????Student?*str?=?new?Student;
和
Student *str = new Student();
我再電腦上運(yùn)行了一下,結(jié)果是一樣的。但是區(qū)別是什么?
2015-08-25
舉報(bào)
2015-08-25
都可以,當(dāng)然你要調(diào)用含參構(gòu)造函數(shù)時(shí)就必須帶括號(hào)了。
C++和Java不同,Java都要括號(hào)的
2015-08-26
這兩種寫(xiě)法對(duì)于有默認(rèn)構(gòu)造函數(shù)的類對(duì)象來(lái)說(shuō)沒(méi)有區(qū)別,但對(duì)于built-in類型是有區(qū)別的:
不帶括號(hào)時(shí),構(gòu)造的對(duì)象是default?initialized,對(duì)于built-in類型,這種情況下初值是不確定的。
帶空括號(hào)時(shí),對(duì)象是value?initialized,對(duì)于built-in類型來(lái)說(shuō),初值一般是0。
而對(duì)于有默認(rèn)構(gòu)造函數(shù)的類對(duì)象,這兩種寫(xiě)法都是調(diào)用其默認(rèn)構(gòu)造函數(shù)。