如果派生类没有分配原始动态内存,为什么基类在这里需要有一个虚拟析构函数?
以下代码导致内存泄漏: #include <iostream> #include <memory> #include <vector> using namespace std; class base { void virtual initialize_vector() = 0; }; class derived : public base { private: vector<int> vec; public: derived() { initialize_vector(); } void initialize_vector() { for (int i = 0; i < 1000000; i++) { vec.push_back(i); } } }; …