https://ideone.com/37b1cy
基於上面的原因
我認為繼承enable_shared_from_this的class 本身必須不該被外面的人亂new 所以想要
提供一個Create函數
但面臨到 想要把constructor and destructor 放到 private field 會遇到問題
以下是目前的解法
https://ideone.com/RldNQ9
問題在於
create裡面其實涉及到多型 教科書上 都說這樣要把~base() 冠上 virtual 以免少呼
叫~derived()
但現在這情況 derived 是空的 不呼叫解構子也沒差
以這種情況
有什麼文件或是規範證明 不寫也沒差嗎? 對於memory的回收毫無影響嗎? 一直不是很清
楚只知道書本上要你這樣做
另一個問題是
https://www.geeksforgeeks.org/pure-virtual-destructor-c/
這寫法 看起來是刻意把 class 宣告 讓人感覺是完全的 abstract
這種寫法 是完全合乎標準的嗎? 有什麼實際好處非要這樣做呢
謝謝