C++ STL set容器迭代器如何高效运用详解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1766个文字,预计阅读时间需要8分钟。
使用`map`容器时,C++ STL 中的`set`容器未提供`at()`成员函数,也不支持通过`[]`运算符进行元素访问。因此,若要访问`set`容器中存储的元素,只能借助`set`容器的迭代器。
和 map 容器不同,C++ STL 中的 set 容器类模板中未提供 at() 成员函数,也未对 [] 运算符进行重载。因此,要想访问 set 容器中存储的元素,只能借助 set 容器的迭代器。值得一提的是,C++ STL 标准库为 set 容器配置的迭代器类型为双向迭代器。这意味着,假设 p 为此类型的迭代器,则其只能进行 ++p、p++、--p、p--、*p 操作,并且 2 个双向迭代器之间做比较,也只能使用 == 或者 != 运算符。
在 set 容器类模板提供的所有成员函数中,返回迭代器的成员函数如表 1 所示。
本文共计1766个文字,预计阅读时间需要8分钟。
使用`map`容器时,C++ STL 中的`set`容器未提供`at()`成员函数,也不支持通过`[]`运算符进行元素访问。因此,若要访问`set`容器中存储的元素,只能借助`set`容器的迭代器。
和 map 容器不同,C++ STL 中的 set 容器类模板中未提供 at() 成员函数,也未对 [] 运算符进行重载。因此,要想访问 set 容器中存储的元素,只能借助 set 容器的迭代器。值得一提的是,C++ STL 标准库为 set 容器配置的迭代器类型为双向迭代器。这意味着,假设 p 为此类型的迭代器,则其只能进行 ++p、p++、--p、p--、*p 操作,并且 2 个双向迭代器之间做比较,也只能使用 == 或者 != 运算符。
在 set 容器类模板提供的所有成员函数中,返回迭代器的成员函数如表 1 所示。

