本文主要是介绍vector迭代器的begin()和end(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考博客:http://blog.csdn.net/kjing/article/details/6936325
迭代器和反向迭代器使用时:
end()永远指向最后一个元素的下一个位置;
若容器为空时,迭代器的begin()和end()指向位置相同,而后即使再给容器赋值,迭代器的begin()指向,仍然为空。
错误范例:
#include <iostream>
#include <vector>
void prin(int &i);
int main()
{
int s=6;
std::vector<int> ivec;
std::vector<int>::iterator ite;
ite=ivec.begin();
std::vector<int>::reverse_iterator re_ite;
for (std::vector<int>::size_type i=0;i!=10;i++)
{
ivec.push_back(i);
}
ivec[0]=100;
re_ite=ivec.rend();
ivec.push_back(100);
for_each(ivec.begin(),ivec.end(),prin);
std::cout<<*ite<<"\n";
/*ite=ite+5;
re_ite=re_ite-6;
std::cout<<*ite<<"\n";
std::cout<<*re_ite<<"\n";*/
}
void prin(int &i)
{std::cout<<i<<std::endl;}
这篇关于vector迭代器的begin()和end()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!