→ Feis:my_button 會在 scope 結束時解構~ 09/14 15:38
→ Feis:如同一般變數. 09/14 15:39
→ Feis:QObject 設計上應該是用 new 的, 然後把指標作為某 QObject 09/14 15:43
→ Feis:的 child, 當 parent 死掉時, 會把所有 child 殺光. 09/14 15:44
→ Feis:至於分辨 heap 或 stack, 因為純就位址來說還要看 OS. 09/14 15:53
→ Feis:我覺得從C/C++語言層次不太能做什麼. 可能要迴避他. 09/14 15:54
→ Feis:另一種就是自己實作指標類別, 但是要大改. 應該不是你要的. 09/14 15:57
→ Feis:簡單的想法是所有 QObject 都要 new, 都要認 parent 即可. 09/14 15:58
→ Feis:QObject 們會構成樹. 你 delete 其中一個會自動把下面都清光 09/14 16:07
→ Feis:不用new的情況是沒parent,例如QApplication 09/14 16:46
→ uranusjr:不用 new 代表你希望該 object 出 scope 自爆, 和有沒有 09/14 17:05
→ uranusjr:parent 無關; 事實上 QApplication 完全可以用 new... 09/14 17:05
→ Feis:不是說不能用. 而我指的是通常你沒有 parent 就是不會出scope 09/14 17:06
→ Feis:只是說一個我覺得可以用的慣用法而已. 沒其他意思~ 09/14 17:07
→ Feis:要不要 new 當然是看 scope 跟你要的 lifetime. 09/14 17:09
→ Feis:不過有 parent 然後不用 new 的例子, 我覺得蠻有趣的. 我想想 09/14 17:16
→ Feis:看.. 感覺不太直觀 @_@ 09/14 17:16
→ Feis:我好像想不到, 感覺風險很大. Q_Q 09/14 17:24
→ Feis:我的規則應該是: 有 parent 就 new, 不 new 的一定沒 parent 09/14 17:31
→ Feis:不過就參考用~ @_@ 09/14 17:31
→ uranusjr:不是在 main 裡面建構的 top-level widget 就不能有 09/14 17:37
→ uranusjr:parent 啊, 例如如果你需要動態產生 app-level 的 dialog 09/14 17:38
→ uranusjr:就會用到了啊... 09/14 17:39
→ Feis:對阿. 我的意思應該是 root 可能可以選擇要不要 new 09/14 17:41
→ Feis:但是其他的應該不能選, 一定要 new ? 這樣對嗎? 09/14 17:41
→ Feis:"通常你沒有 parent 就是不會出scope" 這句是表達錯誤 09/14 17:44