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
这种写法 是完全合乎标准的吗? 有什么实际好处非要这样做呢
谢谢