c++ primer 笔记[20190404]

138 阅读1分钟

P86

const_iterator只能用于读取容器内元素,但不能改变其值。 比如:

for (vector<string>::const_iterator iter = test.begin(); iter != test.end(); iter++) {
    *iter = " ";   // error: *iter is const
}

const_iterator自身的值可以改变,但不能用来改变所指向的元素的值。注意区分与const的iterator对象。如:

vector<int> nums(10);
const vector<int>::iterator iter = nums.begin();
*iter = 1;        // ok
iter++;           // error: iter is const