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

Deleting pointers and map in destructor

本文关键字:映射 指针 析构函数 删除      更新时间:2023-10-16

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

如果你有一个像 std::map<> 这样的成员变量(你已经堆栈分配了),那么当你的类破坏时,你可以依赖它的析构函数。该标准规定,一旦std::map被销毁,它将释放其所有内存。

如果你把它声明为一个指针,并且你已经使用了new,那么你应该在你的析构函数中使用delete。请注意不要在析构函数中引发任何异常,因为这会导致内存错误。