C++11中容器迭代器操作总结
来源:互联网 发布:道路测量员软件说明书 编辑:程序博客网 时间:2024/06/08 02:51
C++11中标准容器迭代器操作总结
我发现有必要对各类容器迭代器的操作做一个小小的总结,本文中的内容大多来自于《C++ Primer》(第5版)中相关章节的内容。
1.下面列出了容器迭代器支持的所有的操作(注意:forward_list迭代器不支持递减运算符(--))。
*iter 返回迭代器iter所指元素的引用
iter->mem 解引用iter并获取该元素名为mem的成员,等价于(*iter).mem
++iter 令iter指示容器中的下一个元素
--iter 令iter指示容器中的上一个元素
iter1 == iter2 判断两个迭代器是否相等(不相等),如果两个迭代器指示的是同一个
iter1 != iter2 元素或者它们是同一个容器的尾后迭代器,则相等;反之,不相等。
2.下面的运算只能用于string,vector,deque和array的迭代器。不能将它们用于其他任何容器类型的迭代器!!
iter + n 迭代器加上一个整数值仍得到一个迭代器,迭代器指示的新位置与原来相比向前移动了若干元 素。结果迭代器或者指示容器内的一个元素,或者指向容器尾的下一个位置
iter - n/iter += n/iter -=n 这三操作意思和上面差不多。。
iter1 - iter2 两个迭代器相减的结果是它们之间的距离,参与运算的两个迭代器必须指向的是同一个容器中 的元素或者尾元素后的位置
>、>=、<、<= 迭代器的关系运算符,如果某迭代器指向的容器位置在另一个迭代器所指位置之前,则说明前 者小于后者。参与运算的两个迭代器必须指向的是同一个容器中的元素或者尾元素后的位置
3.对于不同容器类型的迭代器,简单来说
顺序容器:
string、vector、deque和array 支持++、--、+n、-n.
forwar_list 支持++,然鹅不支持+n、-n、--.
list 支持++、--,然鹅不支持+n、-n.
关联容器:
set、map、multiset、multimap 支持++、--,然鹅不支持+n、-n.
unordered_set、unordered_map、unordered_multiset、unordered_multimap 支持++、--,然鹅不支持+n、-n.
注意:本文中的单独出现的++、--符号均包含了前置后置两种情况。
- C++11中容器迭代器操作总结
- C++:STL容器中,string操作
- 读书笔记--容器操作总结
- STL容器操作总结
- STL容器操作总结
- 【C++】STL常用容器总结之一:容器与迭代器
- C++STL中vector容器类的简单操作
- C++中容器总结
- C++中容器总结
- c++中容器总结
- C++中容器总结
- STL容器删除操作总结
- STL容器删除操作总结
- C中对于字符串的操作总结
- C语言中操作符的总结
- 【C++】STL容器的总结
- C++语法基础--顺序容器(二)--容器常用操作,迭代器失效总结
- 容器迭代器操作
- 解决ubuntu下make menuconfig错误问题
- 8.2
- JAVAWEB第五天XML简介及语法
- hadoop39
- MVP+EventBus+refits+recyclerview+frsco+粘性
- C++11中容器迭代器操作总结
- 自顶向下,逐步求精
- DML、DDL的概念与区别
- numpy meshgrid和stack函数的使用
- 《Discrete Mathematic with Applications》读书笔记四
- SSH框架--struts2浅析《二》之配置文件
- 软件工程的开发过程
- POJ 2499 Binary Tree
- java产生随机数的几种方式