C++中的迭代器是指针变量吗?

用法是一样的,而且:#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>a(... 用法是一样的,而且:
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> a(10,2);
for(vector<int>::iterator b=a.begin();b!=a.end();++b)
cout<<*b<<" "<<sizeof(b)<<" "<<sizeof(vector<string>::iterator)<<" "<<b<<endl;
return 0;
}
结果发现迭代器占用内存4字节,同时迭代器输出的是一个指针(地址)。
我认为迭代器是一种特殊的指针变量,但不知道对不对;或者,迭代器是一个对象,只不过对所有操作符进行了重载。
同时我说一声,我只问是还是不是,还有原因,不需要你告诉我迭代器是什么。
同时注意一点,这个号是我重新注册的,管理员看到后别删贴。
展开
 我来答
Neyes
推荐于2016-09-16 · TA获得超过674个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:267万
展开全部
我认为你认为的非常正确,迭代器是一种特殊的指针变量,原因是迭代器的产生就是在一个更高的逻辑层次上代替指针,而使得容器元素的操作统一,而且保证更安全。
百度网友a1a25a31d
2009-02-15 · TA获得超过133个赞
知道答主
回答量:137
采纳率:0%
帮助的人:48.4万
展开全部
当然不是,而且不仅仅是重载运算符那么简单.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3f3a53de8
2009-02-15
知道答主
回答量:24
采纳率:0%
帮助的人:11.5万
展开全部
是对象,不是指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
推荐于2016-03-09 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:863万
展开全部
1、迭代器也可以理解为指针,主要有自增,吸取,相等,不等这四种运算,比指针的功能更强大一些。
2、指针是C语言里面就有的东西,而迭代器是C++里面才有的,指针用起来灵活,效率高。迭代器功能更丰富一些(不见得是强大一些),c++的stl里面很多算法都是基于迭代器的,一部分算法的参数可以传递指针作为迭代器使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式