delete x和delete(x)之间有什么区别吗?

时间:2015-03-13 22:33:54

标签: c++

在C ++中,以下命令之间存在任何差异:

delete x;
delete(x);

3 个答案:

答案 0 :(得分:14)

不,这绝对没有区别。

答案 1 :(得分:7)

它与以下之间的区别相同:

i = i + 1;
i = i + (1);

即。没有。 delete是一个运算符,而不是函数。

答案 2 :(得分:4)

唯一的区别是只有x被预编译器扩展,在这种情况下(x)的语义将导致在调用{x之前评估operator delete表达式{1}}评估结果。