【发布时间】:2011-12-25 01:09:51
【问题描述】:
当我想使用迭代器更改集合的元素时遇到问题。 这个简单的代码可以解释我想要做什么。
set<int> s;
s.insert(12);
set<int>::iterator it = s.begin();
*it = 4; // error C3892: 'it' : you cannot assign to a variable that is const
为什么我不能改变普通迭代器指向的值,而不是 const_iterator?
在我的代码中,迭代器由 set::find() 返回。也许是从集合中挑选特定元素并改变他的更好方法。
【问题讨论】: