删除运算符(C++)

释放内存块。

[::] delete cast-expression
[::] delete [ ] cast-expression

备注

将表达式 参数必须是指针为对象此前分配的内存块创建 new 运算符删除 运算符具有类型 void 的结果并不返回值。 例如:

CDialog* MyDialog = new CDialog;
// use MyDialog
delete MyDialog;

使用在指针的 删除 到对象不随 产生不可预知的结果。 可以,但是,在指针的 删除 为值 0。 此提供意味着,那么,当 返回 0 在失败时,删除失败的 操作的结果无碍。 请参见 新建和删除运算符 有关更多信息。

删除 运算符只能用于内置类型还使用,包括数组。 如果 pointer 引用数组,请在 pointer之前放置空括号:

int* set = new int[100];
//use set[]
delete [] set;

使用 删除 对象的运算符释放其内存。 取消引用指针的程序,在对象中删除后可能会具有不可预知的结果或系统崩溃。

删除 用于释放 c. C++ 类对象的内存时,对象的析构函数调用,在释放对象前的内存 (如果对象具有析构函数)。

如果对 删除 运算符的操作数是一个可修改的左值,其值是未定义的,在对象中后发生。

示例

有关使用 删除的示例,请参见 new 运算符

请参见

参考

使用一元运算符的表达式

C++关键字

删除工作原理

使用删除

新建和删除运算符

运算符删除功能