每一种容器类型都定义了自己的迭代器类型。
以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 ; // 错误
这是一个很容易遗忘的技术细节。
本文详细解释了C++中各种容器迭代器的使用规则,包括基本概念、const_iterator的应用限制以及如何正确地操作容器元素。通过实例演示,帮助读者避免常见错误并深入理解迭代器的特性。
1035

被折叠的 条评论
为什么被折叠?



