int *pi=new int[3];//C++标准有没有规定内置类型如何"初始化"?还是规定了什么事情都不做?
printf("%d,%d,%d\n",pi[0],pi[1],pi[2]);

显然不是0.C++标准有么有规定new要不要初始化普通数据类型?

推荐图书

  • C++ Primer中文版(第4版)
  • More Effective C++:35个改善编程与设计的有效方法(中文版)
  • 设计模式:可复用面向对象软件的基础


1个回答

这种情况是“什么事情都不做”。

不过内置类型也是有默认构造函数的。楼主可以试验一下如下代码:

int i = int();
double d = double();