社区
C++ 语言
帖子详情
stl新版本指针转iterator
Xcoder
2006-12-18 05:42:51
以前有这样的代码:
vector<int> array;
vector<int>::iterator it;
it = NULL;
it = &array.back();
vc6下编得过的,运行也没问题。vc2005编译报错了。我想知道c++标准对这个问题是怎么说的,random_access_iterator 可以从指针转换么?这个代码应该怎么改最好?thanks!
...全文
209
6
打赏
收藏
stl新版本指针转iterator
以前有这样的代码: vector array; vector::iterator it; it = NULL; it = &array.back(); vc6下编得过的,运行也没问题。vc2005编译报错了。我想知道c++标准对这个问题是怎么说的,random_access_iterator 可以从指针转换么?这个代码应该怎么改最好?thanks!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
roydux
2006-12-18
打赏
举报
回复
vector<int> array;
vector<int>::iterator it = array.end() - 1 ;
a_b_c_abc8
2006-12-18
打赏
举报
回复
array.back();//这个是返回最后一个元素
vector<int>::iterator it = --(array.end());//要返回最后一个元素的迭代器可这样写
jixingzhong
2006-12-18
打赏
举报
回复
vector<int>::iterator it = array.back();
迭代器 的作用和指针类似,
但是在 概念上,
它们可是有很大的区别的 ...
就理解成一个 容器的索引就好了 ~~
healer_kx
2006-12-18
打赏
举报
回复
迭代器并不是指针,所以别写出这样的代码就行了
it = NULL;
对于vecotr的实现来说,
VC6的STL好像是用原始指针实现的,所以这样"写"可以"编译"。
但是对于某些版本的STL的迭代器使用结构体聚合指针来实现的。所以这样的代码就不能编译了。
但是不管怎么实现,这么用iterator都是不对的。
guochun
2006-12-18
打赏
举报
回复
c++中的iterator不一定是指针,最好不要直接赋值地址
c++标准中只规定iterator的操作,算法
至于是否是指针不同编译器,不同容器都不同
珍惜生命远离CPP
2006-12-18
打赏
举报
回复
这样写可以吧。
vector<int>::iterator it = array.back();
STL
下的
iterator
traits
本文详细介绍了C++中的迭代器,包括迭代器的类型、萃取类型如value_type、difference_type等,以及如何通过模板特化处理原生
指针
。还探讨了迭代器的分类,如Input
Iterator
、Output
Iterator
等,并展示了如何使用
iterator
_traits和迭代器类别实现函数的高效重载。最后提到了
STL
中迭代器的基类std::
iterator
,确保自定义迭代器具备必要的类型定义。
C++
STL
:迭代器特性
iterator
_traits
本文详细解释了
STL
算法如何依赖于迭代器的特性,如类别、元素类型、距离等,以及
iterator
_traits的作用。介绍了C++中迭代器的工作原理,尤其是原生
指针
如何通过
iterator
_traits实现与
STL
算法的兼容性。,
【
转
载】
STL
迭代器
iterator
和
指针
的区别总结
本文深入探讨了
指针
和迭代器之间的相似性和差异。
指针
和迭代器都能进行算术运算,支持对元素的修改,但在本质和功能上存在显著区别。迭代器是
STL
接口,用于遍历容器,而
指针
还具有指向函数的能力。
C++
STL
Iterator
和traits
本文介绍了C++
STL
中的
Iterator
概念,强调其作为数据容器与算法之间的粘合剂的角色。详细展示了如何实现自定义迭代器,包括数据结构、容器和迭代器的实现。同时,解释了
STL
的traits机制,用于在迭代器中获取所指对象的类型,以及如何通过模板偏特化处理原生
指针
的情况。最后,提到了
iterator
_traits中定义的五种常用类型。
C++
STL
为什么要有const_
iterator
本文详细解析了C++中
iterator
、const_
iterator
及const
iterator
的区别与应用场景,通过具体示例帮助理解不同迭代器类型的功能特性。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章