何时使用删除运算符很重要



所以我知道内存管理在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[]