在接触到STL时,我发现大部分容器都有两个成员函数:operator[]()和at()。乍一看,这实现的不就是同一种功能,为什么要存在两个函数?我们去www.cplucplus.com看一看。
[C++] 关于operator[]()和at()
最新推荐文章于 2024-07-31 14:30:49 发布
本文探讨了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通过智能技术生成