C++ Primer --- const_iterator 与 const类型的iterator
时间:2011-06-08 来源:游空
每一种容器类型都定义了自己的迭代器类型。
以vector容器为例: vector<int>::iterator iter;
另外,每种容器类型还定义了一种const_iterator的类型,该类型只能用于读取容器内元素,但不能改变其值:
for ( vector< string >::const_iterator iter = test.begin() ; iter != test.end(): ++iter)
cout<< *iter << end; // 正确
但如果想改变其值:
*iter = ""; // 错误
再看const 的 iterator:声明一个const的迭代器时就必须初始化,之后就不能改变它的值:
vector<int> nums(10);
const vector<int>::iterator cit = nums.begin();
*cit = 1; // 正确
++cit ; // 错误
这是一个很容易遗忘的技术细节。
相关阅读 更多 +