📅  最后修改于: 2023-12-03 14:59:45.638000             🧑  作者: Mango
在 C++ STL 中,deque 是一个双端队列容器。at() 函数是 deque 容器提供的成员函数之一,在 deque 中用于获取指定位置的元素值。
deque::at (position)
如果成功获取到指定位置的元素值,则返回该元素值;否则,抛出一个 out_of_range 异常。
#include <iostream>
#include <deque>
using namespace std;
int main() {
deque<int> mydeque = {10, 20, 30, 40, 50};
// 输出 mydeque 中的元素值
for (int i = 0; i < mydeque.size(); ++i) {
cout << mydeque.at(i) << " ";
}
cout << endl;
// 获取 mydeque 中第 3 个位置的元素值
int a = mydeque.at(2);
cout << "mydeque 中第 3 个位置的元素值为:" << a << endl;
// 尝试获取 mydeque 中第 8 个位置的元素值,会抛出 out_of_range 异常
try {
int b = mydeque.at(7);
cout << b << endl;
} catch (const out_of_range& oor) {
cout << "out_of_range 异常:" << oor.what() << endl;
}
return 0;
}
输出内容:
10 20 30 40 50
mydeque 中第 3 个位置的元素值为:30
out_of_range 异常:deque::_M_range_check: __n (which is 7) >= this->size() (which is 5)