1 二维数组
int ii[2][3] = {{1, 2, 3},{4, 5, 6}};
for (auto p = begin(ii); p != end(ii); ++p) {
for (auto q = begin(*p); q != end(*p); ++q) {
cout << *q << ' ';
}
cout << endl;
}
2 类型别名
// using int_arry = int[3]; // 类型别名的声明
typedef int int_arry[3]; // 等价的 typedef 声明
for (int_arry *p = ii; p != ii + 2; ++p) {
for (int *q = *p; q != *p + 3; ++q) {
cout << *q << ' ';
}
cout << endl;
}
3 vector
vector<int> v = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
for (auto &r : v)
r *= 2;
4 数组做函数参数
// const int ia[] 等价于 const int *ia
void print(const int ia[], size_t size) {
for (size_t i = 0; i != size; ++i) {
cout << ia[i] << endl;
}
}
int j[] = {0, 1};
print(j, end(j) - begin(j));
5 数组引用形参
// &arr 两端括号不可少
void print(int (&arr)[2]) {
for (auto elem : arr) {
cout << elem << endl;
}
}
int j[] = {0, 1};
print(j);