看板 C_and_CPP 關於我們 聯絡資訊
小弟是買書自學沒多久的新手 最近讀到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呢? 麻煩各位了 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.28.37 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1399271228.A.56B.html
Killercat:const_iterator的意思是「被itor指到的的東西是const」 05/05 16:07
Killercat:而不是「itor是const」 05/05 16:07
Killercat:另外你把vector<int>改成vector<const int>的話 05/05 16:08
Killercat:er...這有點tricky... 要C++11以後 算了 XD 當我沒說 05/05 16:08
pipi74319:謝謝K大 我可能有點懂了 05/05 16:43
ACMANIAC:const_iterator 如果是個不能動的指標,那它根本是垃圾.. 05/05 18:09
LPH66:可以把 const_iterator 理解成 const xxx* 這種指標 05/05 18:32
suhorng:指標可以改,指標指到的內容不能 05/05 21:37
pipi74319:謝謝各位 小弟應該可能大概懂了 05/06 09:22