类中std::vector的析构函数
Destructor for std::vector in a class
如果类中有std::vector,还需要定义析构函数吗?
如果我为基类和派生类定义空虚析构函数,我会得到内存泄漏吗?
class fruit{
public:
uint32_t num_seed;
//virtual ~fruit(void){}
} ;
class spiky_apple: public fruit{
typedef std::vector<uint32_t> vector;
public:
vector spikes;
void bomb(void);
//spikes.reserve(2000)
//and then spikes[i] = xyz.
//virtual ~spiky_apple(void){}
} ;
除非你的类动态实例化它的成员或打开/创建外部资源,否则你不需要显式声明析构函数。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 内联映射初始化的动态atexit析构函数崩溃
- 什么时候调用析构函数
- C++ std::vector 中的虚拟析构函数继承
- 当我从 std::vector 中的新放置调用析构函数时会发生什么?
- 对于优化级别为 0 的 std::vector,析构函数被调用两次
- 在从仅移动类型派生的类中定义析构函数在使用 std::vector emplace_back或push_back创建时会
- std::vector 调用在重新分配时无论如何都包含对象的析构函数?
- 为什么std::vector::template在没有调用任何复制构造函数的情况下调用析构函数
- 具有显式析构函数和 std::unique_ptr<> 成员的类不能在 std::vector<> 中使用?
- 当存储在std::vector属性中时,我可以删除析构函数中的指针吗
- vector是否调用指向对象的指针的析构函数
- 带有shared_ptr vector的类的析构函数导致错误
- 在析构函数上自动安全地清除c++ std::string和std::vector的内容
- Vector构造函数/析构函数调用
- 定义_CRT_SECURE_NO_WARNINGS会导致vector析构函数崩溃
- c++ vector对象和对析构函数的过多调用
- std::vector:<T>:clear() 是否调用内容的析构函数?
- 类中std::vector的析构函数