3、比较数组、vector对象和array对象
从一个程序开始:
输出结果:
需要注意的地方:
(1) 一个array对象可以赋给另一个array对象,而数组,必须逐个元素复制数据。
(2) 注意这个语句:a1[-2] = 20.2;
其含义是:找到a1指向的地方,向前移两个double元素,并将20.2存储到目的地。也就是说,将信息存储在数组的外面。与C语言一样,C++也不检查这种超界错误。
vector和array对象能够禁止这种行为吗?可以选择使用成员函数at()。
使用at()时,将在运行期间捕获非法索引,而程序默认将中断。这种额外的检查的代价是运行时间更长,这就是C++让允许您使用任何一种表示法的原因所在。
C++数组与容器对比
本文探讨了C++中array对象、vector对象与传统数组之间的区别。重点介绍了array对象的直接赋值特性以及vector和array如何通过at()成员函数来避免数组越界问题。
1547

被折叠的 条评论
为什么被折叠?



