为什么 C++ 程序员应当尽少使用 'new'?


new 用于动态内存分配。在这种情况下分配的内存位于堆上。除了程序员必须进行手动内存清理和管理之外,这种类型的内存分配还会产生许多成本。必须在以下情况下使用此类型分配 -

  •  在编译时不知道需要多少内存。
  • 想要分配在离开当前块后仍将存在的内存。

除此之外,只有在极少数情况下才需要动态内存分配。这是因为在 C++ 中有析构函数的概念。当对象/资源的生命周期结束时,会调用此函数。这可用于释放内存。因此,当你创建拥有自己的对象的对象时,并且主对象超出范围时,它也会释放其子对象的内存。

这些变量称为自动变量,这种类型的内存使用称为自动存储。你应该使用它,因为它输入更快、运行时更快且不太容易出现内存/资源泄漏。


更新于: 02-Mar-2020

63 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告