C++数组的初始化
1个回答
展开全部
a.在函数体内定义的内置数组,其元素没有初始化
b.在函数体外定义的内置数组,其元素初始化为零
c.对于类类型,不管数组在哪定义,都调用该类的默认构造函数进行初始化,若该类没有默认构造函数,则需显式初始化。
int a[5]={0,1,2}; //a[]={0,1,2,0,0}
string str[5]={hi,hi}; //str[]={hi,hi,,,};
char cal[] = {'C','+','+'}; //size=3
char cal[] = {'C','+','+',''}; //size=4
char cal[] = C++; //size=4
char cal[3] = C++; //error
注意:不能象vector一样,用数组给另一数组直接初始化,或者直接赋值
char a[3] = {'C','+','+'};
char b[3];
a=b; //error;
//////////////////////////////
char a[3] = {'C','+','+'};
char b[](a); //error
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询