为什么 C++ 程序员应当尽少使用 'new'?
new 用于动态内存分配。在这种情况下分配的内存位于堆上。除了程序员必须进行手动内存清理和管理之外,这种类型的内存分配还会产生许多成本。必须在以下情况下使用此类型分配 -
- 在编译时不知道需要多少内存。
- 想要分配在离开当前块后仍将存在的内存。
除此之外,只有在极少数情况下才需要动态内存分配。这是因为在 C++ 中有析构函数的概念。当对象/资源的生命周期结束时,会调用此函数。这可用于释放内存。因此,当你创建拥有自己的对象的对象时,并且主对象超出范围时,它也会释放其子对象的内存。
这些变量称为自动变量,这种类型的内存使用称为自动存储。你应该使用它,因为它输入更快、运行时更快且不太容易出现内存/资源泄漏。
广告