Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设一个类包含指针和字符串映射。在析构函数中,除了删除指针之外,我们还应该清除映射还是自动完成?
如果你有一个成员变量std::map<>(你已经分配了堆栈),那么当你的类解构时你可以依赖它的析构函数。标准规定,std::map一旦被销毁,将释放其所有内存。
std::map<>
std::map
如果你将它声明为一个指针并且你已经使用了new,那么你应该delete在你的析构函数中使用它。请注意不要在析构函数中抛出任何异常,因为这会导致内存错误。
new
delete