C++ std::vector::at() 按下列标访问元素;越界抛出 std::out_of_range。operator[] 不检查,越界属于未定义行为。
原型
T& at(size_t pos);
const T& at(size_t pos) const;参数
pos:下标,须小于size()。
返回值
对应元素的引用。越界抛出异常。
示例
#include <iostream>
#include <stdexcept>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3};
std::cout << v.at(1) << std::endl;
try {
std::cout << v.at(9) << std::endl;
} catch (const std::out_of_range&) {
std::cout << "out_of_range" << std::endl;
}
return 0;
}输出:
2
out_of_range
注意事项
热路径且下标已由循环保证合法时,[] 更常见。来自外部的下标应检查范围或使用 at。
下一页介绍front:访问首元素。