0

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

4

1 回答 1

2

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

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

于 2013-10-16T22:00:00.807 回答