作者takua624 (TAKUA)
看板EE_DSnP
标题[问题] HW5 DList iterator
时间Sat Nov 26 16:54:54 2011
教授说用iterator的目的是不要让人家知道node是怎麽做的
是说在list的member function里面最好不要出现 [某node]->_next 这样的东西比较好吧?
可是例如POP_FRONT()的工作是:
把头指到头的NEXT,再把新头的PREV指到尾巴,把尾巴的NEXT指到新头
最後把旧头DELETE掉
那,如果不能用[node]->_next这样的东西,光用iterator来做有可能吗?
iterator那些overload的operator似乎没有这样的功能,异哉。
--
春
苑树雪菜萌苗,
雀儿喜上夏枝梢;
蓝眼望尽
黄泉路,只盼俪人一
美笑。
长巾初解投送抱,金
珠丽叶贺新好;
神代仙眷且羡嫉,长伴相随誓到老。
静马千华留秋晚,冬风不止
三乡道;
红枝立约携手情,今此空余泣嚎啕。
姬宫千歌音悠悠,
樱井奏乐声袅袅;奈何天令伊人变,
飞离斯爱离斯去。
结城AIRA→ 悲恸独泣无人应,
白昼梦尽皆空语。
←美乡あき
Kalafina→ 红月旋响戚
音乐,黯然步上
镇魂旅。
←飞 兰
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.57.147.96
1F:→ e124553423:应该是外面使用者使用时不能知道有node的class存在, 11/26 17:01
2F:→ e124553423:里面处理还是要用到吧 11/26 17:01
3F:→ takua624:所以我们写程式的时候可以用NODE直接操作罗? 11/26 17:02
4F:→ takua624:那"外面的使用者"到底是谁啊... 11/26 17:02
5F:→ e124553423:就class scope以外的吧XD,其他class的function或main 11/26 17:20
6F:→ e124553423:之类的 11/26 17:20
7F:→ takua624:嗯。那有办法操作iterator指到的那个node吗? 11/26 17:22
例如 iterator it = begin();
it++;
现在it指到的是LIST里面第二个node,如果我想修改这个node的_next
有办法用it的operator来操作吗?
还是一定要it._node->_next这种看起来很不文明的方法?
※ 编辑: takua624 来自: 61.57.147.96 (11/26 17:25)
8F:→ e124553423:就我的理解应该是无法避免,有错请指证~ 11/26 17:29
9F:→ takua624:好,那就这麽干吧! 11/26 17:37
10F:推 ric2k1:ListNode 是 List 的好朋友,所以也可以直接 _head->_next 11/27 01:01
11F:→ takua624:嗯,感谢教授。我以为是"建议"不要这麽做 11/27 10:03