pkd*_*kdc 0 c++ memory-leaks memory-management heap-memory
我已经阅读了这个问题,并在程序终止后回答了 动态分配的内存,我想知道是否可以删除动态分配的内存并让它在程序终止后被操作系统释放.那么,如果我为整个程序中需要的对象分配了一些内存,是否可以在程序结束时跳过删除它们,以使代码运行得更快?
简短的回答是肯定的,你可以,很长的答案可能你最好不要那样做:如果你的代码需要重构并变成一个库,你就会向那些打算做的人提供大量的技术债务那份工作,可能是你.
此外,如果你有一个真实的,难以发现的内存泄漏(不是由于故意不释放长寿命对象而导致的内存泄漏),由于噪声很大而使用valgrind调试它会非常耗时.和误报.
看看std::shared_ptr和std::unique_ptr.后者没有开销.