std::vector at
时间: 2023-07-20 10:07:35 浏览: 82
`std::vector::at` 是 C++ STL 中 `std::vector` 类的成员函数之一,用于访问 vector 中指定位置的元素。它与 `operator[]` 不同之处在于,当访问越界时,`at` 会抛出 `std::out_of_range` 异常,而 `operator[]` 则在未定义行为的情况下直接访问内存,可能导致程序崩溃或产生未知结果。
`at` 的语法为:
```cpp
reference at (size_type n);
const_reference at (size_type n) const;
```
其中,`n` 是要访问的元素的索引,`reference` 和 `const_reference` 分别是 vector 中元素的引用和常量引用类型。如果 vector 为空或 `n` 越界,则会抛出 `std::out_of_range` 异常。
示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec{1, 2, 3, 4, 5};
// 访问已有元素
std::cout << vec.at(2) << std::endl; // 输出 3
// 访问越界元素
try {
std::cout << vec.at(10) << std::endl;
} catch (const std::out_of_range& e) {
std::cerr << "Out of range exception: " << e.what() << std::endl;
}
return 0;
}
```
阅读全文