如果我的类(class)有:

    std::vector<std::shared_ptr<Animal>> table;
虽然Animal是一个可以被其他人继承的抽象类,但是默认d'tor是否足够?
我知道 vector 本身就足够了,但是 vector 中包含什么呢?

最佳答案

您可以在Animal中使用虚拟析构函数作为一种很好的做法:

virtual ~Animal(){}
虽然是虚拟析构函数is not really needed to properly use polymorphism when using shared_ptr
归功于@NathanOliver's comment
在这种情况下,您无需担心内存管理。

关于c++ - 默认d'tor是否足以用于复数 vector ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62584394/

10-11 02:22
查看更多