[問題] 請教這2種 class初始化 的差別

作者: OoShiunoO (機機勳)   2016-11-18 20:23:08
想請問以下這兩種方式在底層的運作有什麼不一樣?
SomeClass x(someValue);
SomeClass* x = new SomeClass(someValue);
只是插在回傳型態不同而已嗎? 上面是reference,下面是pointer
作者: layan (教練我想打球 T_T)   2016-11-18 21:49:00
allocate on stack or heap
作者: steve1012 (steve)   2016-11-18 22:02:00
一樓解答你了
作者: b0920075 (Void)   2016-11-19 00:11:00
前幾篇有討論過,不過是C的
作者: Sirctal (母豬母豬 夜裡哭哭)   2016-11-19 09:35:00
我記得第二個還可以new 繼承他的物件
作者: yzfr6 (扮關二哥!)   2016-11-21 14:03:00
第一個只是把 x 定義成具有 SomeClass 類別的東西但因為沒有實體化, 所以無法操作
作者: stupid0319 (徵女友)   2016-11-21 14:35:00
實體化??C++跑到現實世界中嗎!?
作者: grayStone (灰色石頭)   2016-11-21 15:17:00
五樓梗嗎
作者: steve1012 (steve)   2016-11-22 04:30:00
第一個不是單純call constructor 而已?我哪裡看錯了嗎
作者: BIAO (超越自己)   2016-11-22 11:41:00
建構子起來了..那物件就存在啦!只是是local的..XD

Links booklink

Contact Us: admin [ a t ] ucptt.com