c++ - 在 C++ 中调用 delete 时的可选括号

标签 c++

<分区>

假设我创建了一个对象,Shape *shape = new Shape()。然后我可以使用 delete 关键字释放内存。但是有两种写法:

delete (shape); //with brackets

delete shape; //without brackets

首先要明白shapedelete 函数的参数。但是第二个呢?幕后发生了什么?

最佳答案

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/

相关文章:

c++ - 全局多维数组未写入 [vs c++]

c++ - g++ libc.so 绝对路径交叉编译错误

c++ - 为什么 c_str() 会为两个不同的字符串返回相同的值?

c# - C++ CLR 在未安装 .net 4.0 时加载 .net 4.0 dll

c++ - 在别处实现的实例抽象类?

c++ - 如何更好地为不可创建的 COM 对象初始化引用计数器?

c++ set<> 类对象。使用自己的比较器给出错误 : C2804: binary 'operator <' has too many parameters

c++ - C++中的动态分配数组差异

c++ - 如何为模板类编写复制构造函数 - C++

c++ - 处理刚性物体跟踪中的随时间漂移?