C++9.3.6 容器 访问元素

本文深入探讨了C++容器中元素访问的关键概念,包括使用front和back函数,通过迭代器进行元素访问,以及使用at成员函数处理无效下标时的异常情况。重点强调了确保容器非空的重要性,并提供了实际示例加以说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

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

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

  • 如果容器非空,那么容器类型的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];//下标无效,会抛出异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值