容器的指针和容器的迭代器有什么区别

C++语言 码拜 5年前 (2016-04-26) 654次浏览
vector<CThostFtdcOrderField *> *Active
vector<CThostFtdcOrderField *>::iterator it
一直以为迭代器就是指针,但是使用的时候却不能直接写it=active,讨教各位高手,在这里it和active有什么区别呢?
请详细指点,谢谢
解决方案

40

有鉴于node 是节点但是 list 使用的是 node *
Vector ,List 的迭代器都是指针也不能算错
但是,不能因此说,全部迭代器都是指针
迭代器指针的某种扩展(以及限制),
作用和指针相似,raw指针本身,也被视为迭代器
作用是间接访问容器的元素
但是迭代器并不一定是指针。
具体实现,由容器的开发者实现
对于标准库,就是STL的开发者
原始代码,好像是一个人做的
现在是编译器的开发者实现

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明容器的指针和容器的迭代器有什么区别
喜欢 (0)
[1034331897@qq.com]
分享 (0)