[C++] 关于operator[]()和at()

本文探讨了C++ STL中容器如array、deque、forward_list、list、map、unordered_map、vector等的operator[]()和at()函数的差异。at()在访问元素时会检查下标是否越界,越界则抛出std::out_of_range异常,而operator[]()不会做检查,直接返回对应位置的元素(可能存在未定义行为)。此外,map和unordered_map可以使用operator[]()插入元素,但at()不能用于添加元素。
摘要由CSDN通过智能技术生成

在接触到STL时,我发现大部分容器都有两个成员函数:operator[]()和at()。乍一看,这实现的不就是同一种功能,为什么要存在两个函数?我们去www.cplucplus.com看一看。

<array>

array


<deque>

deque


<forward_list>

forward_list


<list>

list


<map>

map

multimap


<queue>

priority_queue

queue


<set>

multiset

set


<stack>

stack

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值