C++9.3.6 容器 访问元素

来源:互联网 发布:起点网络交易平台 编辑:程序博客网 时间:2024/05/18 22:45

简介

========================================================================================================

一、访问容器内的元素—-前提容器非空

  • 如果容器非空,那么容器类型的front和back成员将返回容器的第一个或最后一个元素的引用
if(!ilist.empty()){   list<int>::reference val=*ilist.begin();   list<int>::reference val2=ilist.front();   //val和val1指向同一个元素,下面两个也一样   list<int>::reference last=*--ilist.end();   list<int>::reference last2=ilist.back();//9.3.1节reference是元素的左值类型,是value_type&的同义词//这段程序使用了两种不同的方法获取ilist中的第一个和最后一个元素的引用。///直接的方法是调用front和back函数。//间接的方法是通过对begin操作返回的迭代器进行解引用。或对end操作返回的迭代器的前一个元素位置进行解引用。//要注意,在调用front和back函数之前,或者对begin或end返回的迭代器进行解引用运算之前,必须保证ilist容器非空。}

这里写图片描述

注意:在使用下标运算时,必须保证在指定下标位置上的元素确实存在,使用front和back操作时,容器不能为空。

  • 用下标运算的另一个可选方案时at成员函数。这个函数的行为和下标运算相似,但是如果下标无效,at函数会抛出out_of_range异常
vector<string> svec;//空的一个容器cout<<svec[0];//错误!!!cout<<svec.at[0];//下标无效,会抛出异常
0 0
原创粉丝点击