📅  最后修改于: 2023-12-03 14:39:53.623000             🧑  作者: Mango
C++中的vector是一种动态数组,它可以在运行时调整大小以适应其包含的元素数量。vector的.at()函数可以访问vector中的元素。它类似于[]运算符,但.at()函数可以在访问元素时进行范围检查。
reference vector::at (size_type n);
const_reference vector::at (size_type n) const;
其中,reference
返回一个引用,允许修改元素,const_reference
返回一个常量引用,不允许修改元素。
参数n
指定要访问的元素的索引。
.at()函数返回指定索引位置的元素。如果在vector中访问一个超出范围的元素,.at()函数将抛出一个std::out_of_range
异常。
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
// 访问元素
cout << v.at(2) << endl; // 输出3
// 修改元素
v.at(2) = 10;
cout << v.at(2) << endl; // 输出10
// 访问超出范围的元素,抛出异常
try {
cout << v.at(10) << endl;
} catch (std::out_of_range &e) {
cerr << e.what() << endl; // 输出out_of_range异常
}
return 0;
}
使用.at()函数时应格外小心,因为它会抛出异常。如果您知道要访问的元素位置,请使用[]运算符,这样可以更快且更简单。
此外,使用.at()函数仅适用于访问vector中的元素。如果需要在中间插入或删除元素,建议使用迭代器。