CNDEV
CNDEV.ORG
当前在线
论坛
CBD
程序员情感CBD
程序员见面交流会
CBD开发区
Java/J2ME
.NET/C#
数据库
Delphi/BCB
Visual C
其它
修真养身
中国象棋
纪念日
谈钱太俗,还是投机吧
听音乐
iCosta
资源共享
一隅
好文共赏
看电影看美剧
待定
狗屎
雪域召唤
工作流
专业显摆区
语录
情感
批评与自我批评
爱情故事
发牢骚
看三点区
游戏
CNDEV-CS/WOW
浩宇长空
生活
家有XPH
我爱学英语
美食天地ORG
半调子体育迷
观澳园友邻
搞笑奇文
拍照片
我读书我存在
论坛系统
超级垃圾站
系统建议及BUG
系统测试
中国开发网
: 论坛:
程序员情感CBD
: 贴子 706365
Water
: 那可能是为了保证和其他的iterator语义兼容了。刚才刚看过源码,vector的iterator是指针
[阅读: 456] 2009-03-19 08:06:12
<空>
相关信息:
vector.iterator在做++或者--的时候不能处理越界太烦了
(128字)
(
Water
[1004]
2009-03-19 07:38
)
itrerator 不一定是指针
(空) (
holly
[385]
2009-03-19 07:58
)
那可能是为了保证和其他的iterator语义兼容了。刚才刚看过源码,vector的iterator是指针
(空) (
Water
[455]
2009-03-19 08:06
)
你用的那个 STL 实现成了指针
(46字)
(
holly
[343]
2009-03-19 08:49
)
满足random access和bidirectional就可以,不见得是指针的实现方式。
(空) (
周星驰
[371]
2009-03-19 08:14
)
是不是指针,和俺刚才说的没啥冲突阿。
(172字)
(
Water
[422]
2009-03-19 08:29
)
我是说不能设为NULL来告诉你
(空) (
周星驰
[316]
2009-03-19 08:32
)
也不是不能设为NULL吧,反正有重载运算符,一样可以处理。
(30字)
(
Water
[401]
2009-03-19 08:35
)
能否参照db-table的做法
(101字)
(
haitao
[393]
2009-03-19 08:47
)
典型用法是
(61字)
(
holly
[338]
2009-03-19 08:51
)
嘿嘿,这不仅仅是典型的用法,是只能这样用。
(14字)
(
Water
[316]
2009-03-19 08:54
)
问题在于. 只有容器才有界的概念, iterator 没有界的概念的
(空) (
holly
[324]
2009-03-19 09:01
)
靠 v,i() != v.end() 检测,也相当于越界不报错,只是不移动而已。。。。。。
(20字)
(
haitao
[425]
2009-03-19 09:03
)
海涛大师没有考虑过这样的写法更方便吗 while(db.next())
(空) (
Water
[351]
2009-03-19 09:09
)
你自己实现一个方法boolean next()不就行了
(6字)
(
haitao
[350]
2009-03-19 09:13
)
vector,还可以这样,vector< your_type >::const_iterator last = begin() + size();
(145字)
(
周星驰
[496]
2009-03-19 09:26
)
怎么把 your_vect[i]的[i]吃掉了。。。
(空) (
周星驰
[334]
2009-03-19 09:27
)
这样还不如用下标来的舒服呢...
(空) (
Water
[338]
2009-03-19 09:29
)
如果你要用vector::iterator来当参数传的时候,可以这样判断传进来的参数是否越界。
(空) (
周星驰
[647]
2009-03-19 09:32
)
嘿嘿,我都明白,就是有点不爽。
(空) (
Water
[290]
2009-03-19 09:34
)
iterator的+-运算符其实都不用实现,因为没人知道当前的元素距离容器边缘有多远,只能用++--
(空) (
Water
[425]
2009-03-19 09:01
)
random access要求了可以知道这个“有多远”
(空) (
周星驰
[312]
2009-03-19 09:34
)
random access是vector的要求吧,只用iterator,不用地址来计算,能知道距离容器边界有多远吗?
(空) (
Water
[412]
2009-03-19 09:38
)
嗯,可以,iterator想减返回distance_type
(空) (
周星驰
[350]
2009-03-19 09:41
)
sorry,是difference_type
(空) (
周星驰
[308]
2009-03-19 09:43
)
恩,是我说的不准确,我想表达的是,在不参照vector的时候,iterator没有提供得到自己当前位置的方法。
(空) (
Water
[387]
2009-03-19 09:50
)
唯一能用的只有v.end() - i 吧,只有i自己是不知道的。
(空) (
Water
[317]
2009-03-19 09:41
)
有什么不一样么?
(73字)
(
龙之吻
[335]
2009-03-20 01:39
)
传之前自己检查一下嘛
(空) (
Kaye
[332]
2009-03-19 08:33
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录