Joe*_*Joe 6 c++ memory memory-leaks stl vector
我std::vector
在课堂上有静态.当我使用微软的内存泄漏检测工具时:
_CrtMemState state;
_CrtMemCheckpoint( & state);
_CrtMemDumpAllObjectsSince( & state );
Run Code Online (Sandbox Code Playgroud)
我将内容插入向量后会报告泄漏.这对我来说很有意义,因为当向量中插入某些内容时会分配新的空间.在程序终止之前,该空间不会被释放(因为向量是静态的).这是正确的吗?
在包含向量的类的析构函数中,我正在删除放入向量的对象.但是,插入时分配的内存仍然存在.反正有没有删除这个空间?
添加詹姆斯所写的内容.他的意思是这样做:
std::vector<T>().swap(v);
Run Code Online (Sandbox Code Playgroud)
其中'v'是要释放其内存的向量.