[问题] const vector 和 const_iterator的问题

楼主: pipi74319 (pipi)   2014-05-05 14:27:05
小弟是买书自学没多久的新手
最近读到const vector和const_iterator的部分
有段叙述小弟无法理解 请各位前辈解惑
叙述如下:
const vector<int> nines(10, 9);
vectot<int>::const_iterator it = nines.begin();
*it = 10; //错误:*it是const
++it; //没问题:it不是const
为什么*it是const 但是it不是const呢?
麻烦各位了 感谢
作者: Killercat (杀人猫™)   2014-05-05 16:07:00
const_iterator的意思是“被itor指到的的东西是const”而不是“itor是const”另外你把vector<int>改成vector<const int>的话er...这有点tricky... 要C++11以后 算了 XD 当我没说
楼主: pipi74319 (pipi)   2014-05-05 16:43:00
谢谢K大 我可能有点懂了
作者: ACMANIAC (請肥宅救救肥宅)   2014-05-05 18:09:00
const_iterator 如果是个不能动的指标,那它根本是垃圾..
作者: LPH66 (-6.2598534e+18f)   2014-05-05 18:32:00
可以把 const_iterator 理解成 const xxx* 这种指标
作者: suhorng ( )   2014-05-05 21:37:00
指标可以改,指标指到的内容不能
楼主: pipi74319 (pipi)   2014-05-06 09:22:00
谢谢各位 小弟应该可能大概懂了

Links booklink

Contact Us: admin [ a t ] ucptt.com