迭代器用来存取vector中元素
迭代器有两种,其中一种为只读,即只能做右值的迭代器
vector<int> ivec;
ivec.push_back(1);
ivec.push_back(2);
vector<int>::iterator iter = ivec.begin(); //如果ivec不空,则iter指向ivec[0],否则指向“末端元素的下一个”
vector<int>::iterator iter = ivec.end(); //返回"末端元素的下一个"
vector<int>::const_iterator iter = ivec.begin(); // *iter只能做右值
vector<int>::const_iterator iter = ivec.end();
for(vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)
{
*iter = 0; //所有元素置为0
}
迭代器可以做算数运算
iter + n
iter - n
n为vector<T> size_type类型
iter1 - iter2
返回difference_type类型(unsigned型,有可能为负),iter1 iter2必须指向同一个vector中的元素
VC6.0下实验时,发现:vector<int>difference m = iter2 - iter1; 报错:error C2065: 'difference_type' : undeclared identifier