论new int[10]和new int[10]()
今天看到一个这样的指针:
int *p = new int[10]();
遂研究了下,说是开辟的十个int空间,初始化为零了。测试代码如下
#include <iostream>
using namespace std;
void main()
{
int *p = new int[10]();
for(int i=0; i<10; i++)
{
cout << p[i] << endl;
}
return;
}
结果,XP/VS2008:
而XP/VC6:
不是很推荐这种写法:
1.不是所有的编译器都支持这种写法
2.这样的风格,会给初看的人一些困惑,尤其是不知道的人。