测试环境: vs210 windows 7
在C++ 中new char[]() 编译器默认将其初始化为0,new char[]则不会初始化。
#include<iostream>
using namespace std;
int main(int argc,char *argv[])
{
char *p=new char[10];// vs 编译器则不进行初始化
char *q=new char[10]();//vs 编译器将其初始化为0
cout<<"p:"<<p<<endl;
cout<<"q:"<<q<<endl;
cin.get();
}
本文探讨了C++中使用new分配char数组时的不同初始化行为。在VS编译器环境下,通过newchar[]()创建的数组会被自动初始化为0,而newchar[]创建的数组则不会被初始化。

被折叠的 条评论
为什么被折叠?



