const iterator 与const_iterator的区别

来源:互联网 发布:软件著作权申请表 编辑:程序博客网 时间:2024/05/21 10:00

const iterator,即常量迭代器,如:

const vector<int>::iterator iter; //这里的iter就是常量迭代器

由于const关键字,常量迭代器被视为常量,无法更改迭代器本身(如:iter++),但是可以更改迭代器所指向的变量(如:(*iter)++)。

con s t_iterator,(找不到适合的词语解释),如:

vector<int>::const_iterator iter; //这里的iter就是const_iterator

const_iterator与常量迭代器刚好相反,不可以更改迭代器所指向的变量,但是可以更改迭代器本身。

其实,在vector的接口里有体现过这些知识,如:cbegin(), cend(),他们的返回值类型就是const_iterator。

此外,当我们将vector作为参数传入函数时,若用const进行限定,则函数内部只能使用const_iterator,而不是iterator(这里就是就是与函数的const参数的一些限制有关而已,又看到别的博客有说)。

0 0
原创粉丝点击