C++的迭代器和指针
来源:互联网 发布:淘宝优惠券怎么修改 编辑:程序博客网 时间:2024/06/11 20:42
1:首先迭代器是一种专门为访问容器而设计的一种数据类型,同时也是一种数据结构,类模板,他提供来比下标操作更为通用的 方法,对所有的容器有适用;
2:每个容器都有自己的iterator类型,如vector<int>::iterator
3:begin和end操作,begin()返回迭代器的第一个元素,end()返回容器最后一个元素的下一个元素,如果vector为空,则begin返回的迭代器于end相同。
4:迭代器的使用类似于指针,可以经行解引用,加减,相等等操作
5:迭代器的类型:const_iterator和const iterator
const_iterator是一个指向常容器的迭代器,自身是个变量,但是指向的直不能改变;
const iteratro是一个指向容器的常迭代器,自身是个常量,一旦赋值,不能改变其指向的直;
6:迭代器和指针的差别
指针其实是狭义的迭代器,迭代器是指针的抽象。指针用于指向单个对象,而迭代器用于访问容器内的元素。
迭代器是具有类似指针行为的class template。也就是重载了operator-> operator* operator++等操作符的类模板。
由于指针的使用可能产生不可预料的过程,所以在现代的C++中采用vecator和interator代替一般的数组,string类型代替一般的字符串。C++中更偏向于使用容器类。
7:地雷:任何改变vector长度的操作都会使已存在的迭代器失败。例如,在调用push_back之后,就不能再信赖指向vector的迭代器的值了
2:每个容器都有自己的iterator类型,如vector<int>::iterator
3:begin和end操作,begin()返回迭代器的第一个元素,end()返回容器最后一个元素的下一个元素,如果vector为空,则begin返回的迭代器于end相同。
4:迭代器的使用类似于指针,可以经行解引用,加减,相等等操作
5:迭代器的类型:const_iterator和const iterator
const_iterator是一个指向常容器的迭代器,自身是个变量,但是指向的直不能改变;
const iteratro是一个指向容器的常迭代器,自身是个常量,一旦赋值,不能改变其指向的直;
6:迭代器和指针的差别
指针其实是狭义的迭代器,迭代器是指针的抽象。指针用于指向单个对象,而迭代器用于访问容器内的元素。
迭代器是具有类似指针行为的class template。也就是重载了operator-> operator* operator++等操作符的类模板。
由于指针的使用可能产生不可预料的过程,所以在现代的C++中采用vecator和interator代替一般的数组,string类型代替一般的字符串。C++中更偏向于使用容器类。
7:地雷:任何改变vector长度的操作都会使已存在的迭代器失败。例如,在调用push_back之后,就不能再信赖指向vector的迭代器的值了
0 0
- C指针和指针的指针
- C的存储器和指针
- c的指针*和引用&
- 详解c++[指针的指针] 和 [指针的引用]
- 指针的指针-----《C和指针》98页
- C语言指针数组和指向指针的指针
- C语言指针、数组指针和指针数组的区别
- C 语言指针,单指针和双指针的学习
- C/C++,指针的定义和使用
- 【C/C++】引用和指针的区别
- 【C/C++】数组和指针的区别
- c/c++--指针数组和数组指针的区别
- 指针变量和指针变量的地址(c/c++)
- c和c指针
- C指针的指针
- c 指针的指针
- C/C++基础知识:函数指针和指针函数的基本概念
- C/C++基础知识:函数指针和指针函数的基本概念
- 浅谈 Spring @Transactional
- AndroidStudio使用javadoc生成API文档
- DeCAF: A Deep Convolutional Activation Feature for Generic Visual Recognition 一般视觉识别的深度卷积刺激特征
- POJ 3422 Kaka's Matrix Travels (最小费用流)
- Windows下Python的安装
- C++的迭代器和指针
- 范数 norm
- sky3888 Register The Most Visually Stunning Evolution Slot
- Unit 4-Lecture 4: Random Variable
- Publish blog posts from R + knitr to WordPress
- LLLTTTTTT
- 基于模糊PID的直流电动机闭环调速系统设计
- ubuntu系统samba创建文件夹无权限
- 【Android】在SurfaceView上显示透明图片