int *pi = new int(0);
这里有什么意义?它是否意味着长度为0的整数数组?
答案 0 :(得分:12)
它是一个初始化器(构造函数参数)。新创建的int的值为0
。
答案 1 :(得分:7)
这意味着您需要指向int
的指针,并且该int
的值为0。
我曾经遗失了很长时间,因为有人写了new char(10)
,而他们的意思是new char[10]
。编译器很好,但它引起了严重的腐败问题,很难发现。这是10多年前,我们没有现在的工具。永远不会忘记它。
答案 2 :(得分:-1)
对我而言,0的意义也是有人在说,
我故意要这个为0
而不是某些'默认值',[编辑] 在很多情况下很可能也是0
在许多调试编译中,将设置为0,但在发布编译中,通常是未初始化的内存中已存在的值。