一 常见使用细节
1.1 at和[]访问元素的区别
C++中vector的两种访问方式——vector[]与vector.at()的区别_vector .at-CSDN博客
说明
当我们定义一个数组vector b(10)后,b[]和b.at()都可以对v中元素进行访问,平时一般大家使用的都是v[]这种访问方法,以至于将v.at()这种访问方式忘记了。
vector[]和vector.at()的区别
b.v[]和b.at()都可以对v中元素进行访问,并且访问的元素时都不能越界,比如a[10]或a.at(10)这样的使用会报错。区别在于,operator[]不做边界检查, 哪怕越界了也会返回一个引用,当然这个引用是错误的引用,如何不小心调用了这个引用对象的方法,会直接导致应用退出。而由于at会做边界检查,如果越界,会抛出异常,应用可以try catch这个异常,应用还能继续运行。
1.2 data
C++ vector data() 使用方法及示例 - 菜鸟教程
在c++11中,vector 增加