假设一个类包含指针和字符串映射。在析构函数中,除了删除指针外,我们是否还应该清除映射还是自动完成?
最佳答案
如果你有一个像std::map<>
这样的成员变量(你已经分配了堆栈)然后你可以在你的类析构时依赖它的析构函数。该标准要求 std::map
销毁后将释放所有内存。
如果你将它声明为一个指针并且你已经使用了new
, 那么你应该使用 delete
在你的析构函数中。请注意不要在析构函数中抛出任何异常,因为这会导致内存错误。
关于c++ - 在析构函数中删除指针和映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19414682/