<分区>
假设我创建了一个对象,Shape *shape = new Shape()
。然后我可以使用 delete
关键字释放内存。但是有两种写法:
delete (shape); //with brackets
和
delete shape; //without brackets
首先要明白shape
是delete
函数的参数。但是第二个呢?幕后发生了什么?
标签 c++
<分区>
假设我创建了一个对象,Shape *shape = new Shape()
。然后我可以使用 delete
关键字释放内存。但是有两种写法:
delete (shape); //with brackets
和
delete shape; //without brackets
首先要明白shape
是delete
函数的参数。但是第二个呢?幕后发生了什么?
最佳答案
delete 不是函数而是运算符,括号中的意思不是调用它。你可以用方括号分支变量名,因为。
例子:
int a = 5;
int b = a;
b = (a); //also ok
You can read here关于删除运算符的使用
关于c++ - 在 C++ 中调用 delete 时的可选括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33068701/