Re: [問題] factory pattern

看板C_and_CPP作者 (..)時間14年前 (2011/11/18 05:09), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/7 (看更多)
※ 引述《tyc5116 (累人啊....)》之銘言: : 這部份覺得怪怪的,在new出一個物件時給值,return出來時addr不是就遺失了嗎? : 也就是類似這樣 : int* func() : { : int* num=0; : *num=10; : return num; : } 我在想,其他的東西都先不提,這邊關於 new 的部份就需要講一下, 在 func 裡面 new,比如說: int* func() { int* a = new int(1); return a; } 跟你上面那段其實不太一樣,new 出來的東西,就算傳出去,還是會存在, 直到你 delete a 之前,都不會消失,不然 new 一大堆不 delete 會如何? 所以你第 30 行 IObject* Builder; 不改成 IObject* Builder = new IObject(); 就會動會跑的話,那還真的蠻奇的。因為你後面接一行: GObject* obj1 = Builder->CreateObject(0); 這樣應該不 work 吧?Builder 裡面是個完全沒有 init 的東西,就算註死讓你 會動,這種寫法是不 ok 的 想給個建議,就是把基本的先學好,不然改成用不需要指標的高階語言,ex: java 來學 Design Pattern 也許會好一點,至少可以少掉 c++ 基本功的問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.14.54 ※ 編輯: cgcheng 來自: 220.139.14.54 (11/18 05:12)

11/18 08:37, , 1F
抱歉,30有new,貼的時候沒貼到
11/18 08:37, 1F

11/19 16:49, , 2F
原來是這樣,我失言了,非常抱歉
11/19 16:49, 2F
文章代碼(AID): #1EnNWc3y (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1EnNWc3y (C_and_CPP)