基本
大小初始化
只能用常量表达式初始化,否则报错。
unsigned int cnt = 42;
int arr1[cnt]; //primer说 xxx,但是好像编译没问题
int arr2[10];
constexpr unsigned sz = 42;
int *parr[sz];
int arr3[get_size()]; //返回值为constexpr时,正确
字符数组
字符数组比较特殊,可以分为元素初始化和字符串初始化方式。
char a1[] = {'C','+','+'}; //没有加'\0'
char a2[] = {'C','+','+','\0'};
char a3[] = {"C++"}; //自动补'\0'
没有拷贝和赋值运算
int a[] = {1,2,3};
int a2[] = a; //xxx,想调用拷贝运算
int a3[] = {0};
a3 = a; //xxx,不能调用赋值