C++ string/vector手动调用析构函数回收内存
string本来在程序运行完会自动析构,但是在结束前调用
_CrtDumpMemoryLeaks()检查会有内存泄露,在结束后好像没法检查,可以手动析构释放内存。
但是不建议使用,可能有其他bug
string的手动析构:
string str="abc";
str.~basic_string();
vector的手动析构:
vector<string>vec;
vec.~vector();
基本类型元素不需要clear(),swap(),shrink_to_fit()什么的,可以直接析构。
建议把代码用大括号括一下,这样运行到大括号外面就可以自动析构。
顺便说一句,new和malloc的对象可以用delete[]回收,delete会自动调用析构函数,free不会自动析构。