在析构函数中删除指针和映射

时间:2013-10-16 21:58:16

标签: c++

假设一个类包含指针和字符串映射。在析构函数中,除了删除指针外,我们还应该清除地图还是自动完成?

1 个答案:

答案 0 :(得分:2)

如果你有一个像std::map<>这样的成员变量(你已经堆栈分配),那么当你的类破坏时你可以依赖它的析构函数。标准要求std::map一旦被破坏就会释放所有记忆。

如果您将其声明为指针并且已使用new,那么您应该在析构函数中使用delete。请注意不要在析构函数中抛出任何异常,否则会导致内存错误。

相关问题