我有一个抽象类CAbstract
,并希望在另一个类CClass
中拥有此类型的成员。如果我把它作为指针,我将不得不照顾自己的删除,并且确实想避免这种情况。
CClass
被删除后自动删除吗?shared_ptr
吗?可以shared_ptr
管理抽象类并指向派生类吗?答案 0 :(得分:3)
引用不会自动解除分配任何内容; shared_ptr
。只要遵循C ++的规则,它就应该优雅地处理继承情况。更具体地说,由于shared_ptr
的析构函数在引用计数降为零时默认调用delete
,因此需要正确实现(virtual
)析构函数以使shared_ptr
正常工作