数组

来源:互联网 发布:百家讲坛知乎 编辑:程序博客网 时间:2024/06/10 11:10

数组与vector的区别
数组的大小确定不变,如果不清楚元素的确切个数,请使用vector
初始化和定义数组
初始化和定义数组时的数组维度应该是一个常量表达式,常量表达式可以参见constexpr。
定义数组时必须指定数组类型。
字符数组的初始化
可以用字符串字面值进行初始化,字符串结尾的空字符也会被拷贝到数组中。
char a1[]={‘c’,’+’,’+’};
char a2[]=”c++”;//自动添加结尾的空字符
const char a3[6]=”Daniel”; //错误,没有空间放结尾的空字符

数组内容是不允许拷贝的
int a[]={0,1,2};
int a1[]=a; //错误
a1=a; //错误

复杂的数组声明
int *p[10]; //p是含有10个整型指针的数组
int &r[10]; //不存在数组的引用
int (*p)[10]=&arr;//p是指针,指向含有10个整数的数组
int (&a)[10]=m;//a引用一个含有10个整数的数组
int *(&a)[10]=ptr; //a是数组的引用,该数组含有10个指针

原创粉丝点击