24小时热门版块排行榜    

查看: 256  |  回复: 2

benchurry

铜虫 (初入文坛)

[求助] 求助c++中const迭代器

c++primerP140中如下:
vector<int> nums(10);
const vector<int>::iterator cit=nums.begin();
*cit=1;

cit都已经是一个const的vector<int>::iterator类型了,而且被初始化为nums.begin()了,其值就不应该改变了呀!!!下面的 *cit=1; 不是改变了cit的值么,为什么书中还说是ok的????

[ Last edited by benchurry on 2013-5-8 at 17:13 ]
回复此楼

» 猜你喜欢

我是个好人
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

benchurry

铜虫 (初入文坛)

我擦~~~~~~~书没看仔细,明白了,*cit指的是nums中的元素   而不是cit本身!!
我是个好人
2楼2013-05-08 17:14:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
benchurry: 金币+5, ★★★很有帮助, 谢谢 2013-05-09 09:33:57
const vector<int>::iterator是吧iterator本身const了,*iterator是iterator指向的元素
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2013-05-08 19:08:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 benchurry 的主题更新
信息提示
请填处理意见