标签:
vector<int> vec; vec[0]; vec.at(0);
vec是个空集合的情况下,[]访问是行为未定义的,at访问则会抛出std::out_of_range异常。c++标准不要求vector<T>::operator[]进行下标越界检查,原因是为了效率,总是强制下标越界检查会增加程序的性能开销。设计vector是用来代替内置数组的,所以效率问题也应该考虑。
vector里[]和at的差别
原文地址:http://www.cnblogs.com/csuer/p/4387766.html