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