C++程序员为何应尽量减少使用'new'?
new用于动态内存分配。在这种情况下分配的内存将位于堆上。这种类型的内存分配会产生若干成本,同时程序员必须执行手动内存清理和管理。必须在以下情况下使用这种类型的分配−
- 在编译时您不知道需要多少内存。
- 想要分配在离开当前块后仍将驻留的内存。
除了这些情况,要求动态内存分配的情况非常少。这是因为,在C++中,存在析构函数的概念。此函数在对象/资源的生命周期结束时被调用。这可用于释放内存。因此,当您创建具有自身对象的对象,并且主对象超出范围时,它还会释放其子对象的内存。
这些变量称为自动变量,这种类型的内存使用为自动存储。您应该使用它,因为它键入速度更快,运行速度更快,并且不易出现内存/资源泄漏。
广告