C++ Primer之顺序容器(二):迭代器
2017-02-20 20:54
197 查看
begin、end、first、last、size_type、iterator、const_iterator、value_type、reference、const_reference、cbegin、send、rbegin、rend。
这里begin和first指向的是同一个元素,是容器中的第一个元素。last指的是容器中的最后一个元素。而end指向的是last元素之后的位置,这个元素不存在实体。迭代器的范围是[begin, end)。可以使用++运算符使得迭代器逼近end,使用–运算符使得迭代器逼近begin。cbegin和cend是begin和end的const版本,c版本的迭代器指向的位置不能修改。因此,如果不需要写访问时,应使用cbegin和cend。rbegin和rend是反向的begin和end使用++操作迭代器往左走,使用–操作迭代器往右走。需要注意的是forward_list不能使用–操作符,也不存在rbegin和rend。
当使用容器的size函数时,返回一个<容器>::size_type的值。这个值是无符号类型的,而且能放下任何string对象的大小。
可以使用<容器>::iterator和<容器>::const_iterator表示迭代器的类型。其中iterator能读写,而const_iterator只能读。
需要元素类型,使用容器的value_type。如果需要元素类型的一个引用,可以使用reference或const_reference。三者的形式如下:
<容器>::value_type
<容器>::reference
<容器>::reference
这里begin和first指向的是同一个元素,是容器中的第一个元素。last指的是容器中的最后一个元素。而end指向的是last元素之后的位置,这个元素不存在实体。迭代器的范围是[begin, end)。可以使用++运算符使得迭代器逼近end,使用–运算符使得迭代器逼近begin。cbegin和cend是begin和end的const版本,c版本的迭代器指向的位置不能修改。因此,如果不需要写访问时,应使用cbegin和cend。rbegin和rend是反向的begin和end使用++操作迭代器往左走,使用–操作迭代器往右走。需要注意的是forward_list不能使用–操作符,也不存在rbegin和rend。
当使用容器的size函数时,返回一个<容器>::size_type的值。这个值是无符号类型的,而且能放下任何string对象的大小。
可以使用<容器>::iterator和<容器>::const_iterator表示迭代器的类型。其中iterator能读写,而const_iterator只能读。
需要元素类型,使用容器的value_type。如果需要元素类型的一个引用,可以使用reference或const_reference。三者的形式如下:
<容器>::value_type
<容器>::reference
<容器>::reference
相关文章推荐
- C++ Primer_顺序容器杂记
- c++关于顺序容器指针迭代器失效问题
- C++ Primer 学习笔记——顺序容器的string操作
- 对C++中顺序容器的插入迭代器的认识
- c++关于顺序容器指针迭代器失效问题
- C++primer学习:顺序容器(3)
- C++:顺序容器与迭代器
- c++primer之顺序容器(添加元素)
- C++语法基础--顺序容器(二)--容器常用操作,迭代器失效总结
- STL 容器和迭代器连载3_顺序容器初始化
- C++ Vector 序列容器 之 使用vector和迭代器
- C++顺序容器操作
- C++学习笔记九-顺序容器(二)
- C++容器:顺序容器,关联容器
- STL顺序容器迭代器何时失效
- 第九章-顺序容器----重学C++之《 C++ PRIMER》
- 第九章-顺序容器----重学C++之《 C++ PRIMER》
- C++容器(顺序容器、关联容器)
- 顺序容器的使用C++
- 8、C++ Primer 4th 笔记,顺序容器(1)