如果我实现此代码,是否会产生内存泄漏?如果不是内存泄漏,何时删除内存?
class MyClass
{
public:
void foo() {
static MyClass *element = new MyClass();
}
};
Run Code Online (Sandbox Code Playgroud)
好吧,两者兼而有之.
是; 没有删除它的代码(关联的delete element).
没有; 只有一个实例,操作系统会在进程退出时回收内存.内存使用量不会无限增长.
考虑到未来可能的维护和变更; 我倾向于使用a std::unique_ptr并避免任何未来内存泄漏的风险.
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |