迭代器的用途是什么?
答:检查容器内元素并历遍元素的数据类型。
迭代器的解引用操作符是什么?
答:解引用操作符返回迭代器当前所指向的元素。
如:vector<int>::iterator iter;*iter=0;//*iter 和 ivec[0] 就是指向同一个元素。
使用迭代器如何循环历遍?
答:
//第一种
// equivalent loop using iterators to reset all the elemen ts in ivec
to 0
for (vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)
*iter = 0; // set element to which iter refers to 0
//第二种
iter=svec.begin();
while(iter<svec.end())
{
cout<<*iter<<endl;
++iter;
}
vector的begin和end函数的返回值是什么?
答:
begin返回指向第一个元素的迭代器,
end返回最后一个元素的下一个元素的迭代器。
是这种类型:vector<T>::iterator
如何定位vector中间元素?
答:vector<int>::iterator mid = vi.begin() + vi.size() / 2;
const_iterator:从迭代器读取元素值而不是对它进行赋值。