数组

1、用auto通过数组名字获取到的类型是指针,用decltype通过数组名字获取到的类型是数组类型。

2、用部分数组初始化vector,表示范围的数组指针与迭代器类似,第一个指针指向第一个元素,第二个指针表示最后一个元素的后一位置。

3、要是用范围for语句处理多维数组,除了最内层的循环外,其他所有循环的控制变量都应该是引用类型,因为如果不用引用类型,则数组的名字会被隐式转换为指针。

4、内置的下标运算符所用的索引值不是无符号类型,这一点与string和vector不一样。

5、因为多维数组实际上是数组的数组,所以由多维数组名转换得来的指针实际上是指向第一个内层数组的指针。例如:int ia[3][4]; int (*p)[4] = ia;此时ia等价于&(ia[0])表示指向第一个大小为4的数组。ia + 2表示的是指向最后一行的指针。对ia解引用得到的是指向第一行第一个元素的指针,即*ia等价于&ia[0][0], *(ia + 2)等价于&ia[2][0]。

posted @ 2022-12-07 13:10  许卡文迪  阅读(11)  评论(0编辑  收藏  举报