相关疑难解决方法(0)

何时使用虚拟析构函数?

我对大多数OO理论有了深刻的理解,但让我困惑的一件事是虚拟析构函数.

我认为无论什么以及链中的每个对象,析构函数总是会被调用.

你什么时候打算让它们成为虚拟的?为什么?

c++ polymorphism shared-ptr virtual-destructor

1420
推荐指数
13
解决办法
66万
查看次数

安全使用vector.emplace_back(new MyPointer); 矢量内部的故障会导致内存泄露吗?

使用安全吗?

vector.emplace_back( new MyPointer() );
Run Code Online (Sandbox Code Playgroud)

或者,向量中抛出异常或某些失败会导致内存泄漏吗?

是否更好地执行以下某种形式,首先将指针放在临时的unique_ptr中.

vector.emplace_back( std::unique_ptr<MyPointer>( new MyPointer() ) );
Run Code Online (Sandbox Code Playgroud)

因此,如果发生向量故障,临时unique_ptr仍将清理内存?

c++ memory-leaks stdvector c++11

9
推荐指数
1
解决办法
2904
查看次数