`
webcenterol
  • 浏览: 913785 次
文章分类
社区版块
存档分类
最新评论

C++ Primer --- const_iterator 与 const类型的iterator

 
阅读更多

每一种容器类型都定义了自己的迭代器类型。

以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 ; // 错误

这是一个很容易遗忘的技术细节。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics