作者OoShiunoO (機機勳)
看板C_and_CPP
標題[問題] 請教這2種 class初始化 的差別
時間Fri Nov 18 20:23:08 2016
想請問以下這兩種方式在底層的運作有什麼不一樣?
SomeClass x(someValue);
SomeClass* x = new SomeClass(someValue);
只是插在回傳型態不同而已嗎? 上面是reference,下面是pointer
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.181.54
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1479471791.A.885.html
1F:推 layan: allocate on stack or heap 11/18 21:49
2F:推 steve1012: 一樓解答你了 11/18 22:02
3F:推 b0920075: 前幾篇有討論過,不過是C的 11/19 00:11
4F:推 Sirctal: 我記得第二個還可以new 繼承他的物件 11/19 09:35
5F:推 yzfr6: 第一個只是把 x 定義成具有 SomeClass 類別的東西 11/21 14:03
6F:→ yzfr6: 但因為沒有實體化, 所以無法操作 11/21 14:04
7F:推 stupid0319: 實體化??C++跑到現實世界中嗎!? 11/21 14:35
8F:→ grayStone: 五樓梗嗎 11/21 15:17
9F:推 steve1012: 第一個不是單純call constructor 而已?我哪裡看錯了 11/22 04:30
10F:→ steve1012: 嗎 11/22 04:30
11F:推 BIAO: 建構子起來了..那物件就存在啦!只是是local的..XD 11/22 11:41