所以我知道内存管理在c++中很重要,但在我的c++程序中,垃圾收集通常会被忽略。我知道在一些重要的情况下,你想使用delete运算符,这样你就不会遇到内存泄漏,但我不确定它们是什么。
使用new
运算符时,会在堆上分配内存。为了释放内存,请对其调用delete
int * p_myint = new int;
delete p_myint;
或者对于用户定义类的对象:
MyClass * p_myobject = new MyClass;
delete p_myobject;
通常,每次使用new
都需要使用delete
。
请注意,要为数组(以及一些相关类型(分配内存,可以使用new[],分配的内存也可以通过delete[]来释放。例如:
int * p_myints = new int[3];
delete[] p_myints;
同样,每次使用new[]
通常需要使用delete[]
。