ca12a_c++顺序容器的操作5_访问容器中的数据元素
访问元素:
c.back()、、显示最后一个数据
c.front() 、、显示第一个数据
c[n],n就是下标,适合vector与deque
c.at(n),n就是下标,适合vector与deque
顺序容器:
vector,
deque
list
txwtech
/*ca12a_c++顺序容器的的操作5_访问容器中的数据元素
访问元素:
c.back()、、显示最后一个数据
c.front() 、、显示第一个数据
c[n],n就是下标,适合vector与deque
c.at(n),n就是下标,适合vector与deque 顺序容器:
vector,
deque
list
txwtech */
#include <iostream>
#include <list>
#include <vector>
#include <deque> using namespace std; int main()
{
vector<int> ivec;
ivec.push_back();
ivec.push_back();
ivec.push_back(); if (!ivec.empty())//先判断是否为空,再使用front,back
{
cout << ivec.front() << endl;//显示第一个数据
cout << ivec.back() << endl;//显示最后一个数据
} vector<int>::reference a = ivec.front();//front返回一个引用,所以使用reference
vector<int>::reference b = ivec.back();
cout << a << endl;
cout << b << endl;
cout << *ivec.begin() << endl;//通过指针返回
vector<int>::reference c = *ivec.begin();//*迭代器返回的是一个引用
cout << c << endl;
cout << "使用 *--ivec.end()方法:" << endl;
cout << *--ivec.end() << endl;//也是显示最后一个数据 cout <<"使用下标显示数据: "<< ivec[] << endl;//使用下标显示数据
cout << ivec[] << endl;
//cout << ivec[300] << endl;//[]下标越界,不抛出异常
//cout << ivec.at(300) << endl;//下标越界,at符号可以抛出异常
//可以抛出异常,就可以catch异常
try
{
cout << ivec.at()<< endl;
}
catch (out_of_range)
{
cout << "下标越界咯" << endl;
} cout << "使用ivec.at方法:" << endl;
cout << ivec.at() << endl;//下标越界,at符号可以抛出异常
cout << ivec.at() << endl; return ;
}