今天看到一个这样的指针:
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.这样的风格,会给初看的人一些困惑,尤其是不知道的人。