【发布时间】:2021-05-05 19:57:22
【问题描述】:
所以我知道内存管理在 c++ 中很重要,但通常,垃圾收集在我的 c++ 程序中会被忽略。 我知道在某些重要的情况下您想使用删除运算符,这样您就不会遇到内存泄漏,但我不确定它们是什么。
【问题讨论】:
-
什么垃圾回收?
-
标准
c++没有垃圾回收。请记住,c++标记用于标准/非托管c++而不是 .net / clr。如果您使用的是 .NET,您可能需要删除c++并添加c++-cli -
永远不要使用
new,也不需要使用delete。而是使用std::vector之类的容器和std::unique_ptr之类的智能指针。 -
简化规则:你
new,你必须delete。你new[],你必须delete[]。工作量很大,所以从使用标准库中的容器开始吧。 -
现代
c++鼓励您避免使用新的。而是使用标准库的容器,当你不能使用智能指针时。
标签: c++ memory memory-leaks