int(0)in int * pi = new int(0);?

时间:2010-06-16 18:58:13

标签: c++

int *pi = new int(0); 

这里有什么意义?它是否意味着长度为0的整数数组?

3 个答案:

答案 0 :(得分:12)

它是一个初始化器(构造函数参数)。新创建的int的值为0

答案 1 :(得分:7)

这意味着您需要指向int的指针,并且该int的值为0。

我曾经遗失了很长时间,因为有人写了new char(10),而他们的意思是new char[10]。编译器很好,但它引起了严重的腐败问题,很难发现。这是10多年前,我们没有现在的工具。永远不会忘记它。

答案 2 :(得分:-1)

对我而言,0的意义也是有人在说,

  

我故意要这个为0

而不是某些'默认值',[编辑] 在很多情况下很可能也是0 在许多调试编译中,将设置为0,但在发布编译中,通常是未初始化的内存中已存在的值。