4 c++ memory memory-leaks memory-management class
class MyClass
{
// empty class with no base class
};
int main()
{
MyClass* myClass = new MyClass();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是内存泄漏吗?
是.即使你的类是空的,你仍然会泄漏内存.这有几个原因:
char).因此,即使您的结构为空,您的代码也会泄漏至少一个字节的内存,以及分配详细信息.
您有任何内存泄漏:
此时,您无法销毁动态分配的对象,因此对象被泄露.
在您的示例程序中,您可以动态分配MyClass对象并设置myClass为指向它. myClass是动态分配对象的唯一指针.然后从函数返回并丢失指针; 此时,动态分配的MyClass对象被泄露.
这是否重要取决于对象是什么,程序是什么,以及何时发生泄漏.如果对象在被销毁时不需要进行任何清理(例如,如果它的析构函数是微不足道的),那么在程序终止之前未能销毁它通常是不好的风格,但相对于其他类型的泄漏而言并不是特别糟糕.
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |