C++ | 数组
数组的大小确定不变,不能随意向数组中添加元素。
如果不清楚元素的确切个数,使用vector
定义和初始化
数组的声明形如 a[d],其中a是数组的名字,d是数组的维度,其中数组的维度d必须是常量表达式。
1 | unsigned cnt = 42; // 不是常量表达式 |
不允许拷贝和赋值
不能将数组的内容拷贝给其他数组作为其初始值,也不能用数组为其他数组赋值
1 | int a[] = {0, 1, 2}; |
一些编译器支持数组的赋值,这就是所谓的编译器拓展。
复杂数组的声明
要理解数组声明的含义,最好的办法是从数组的名字开始按照由内向外的顺序阅读
1 | int *ptrs[10]; // ptrs是含有10个整型指针的数组 |
访问数组元素
与标准库类型vector与string一样。
指针与数组
1 | string nums[] = {"one", "two", "three"}; |
标准库函数begin和end
1 | int ia[] = {0, 1, 2, 3, 4}; |
解引用和指针运算的交互
1 | int ia[] = {0, 2, 4, 6, 8}; |
使用数组初始化vector对象
1 | int int_arr[] = {0, 1, 2, 3, 4, 5}; |