想做一个对List迭代器相加的操作,但是有关问题出在哪里
想做一个对List迭代器相加的操作,但是问题出在哪里?
#include <iostream>
#include <list>
using namespace std;
list<int>::iterator& operator+(list<int>::iterator &iter,int a)
{
for(int i=0;i<a;i++)
iter++;
return iter;
}
void main()
{
list<int> lis(10);
list<int>::iterator iter;
for(int i=0;i<10;i++)
lis.push_back(i);
iter=lis.begin()+4;
cout<<*iter<<endl;//这里为什么每次打印都是0呢????
}
------解决方案--------------------
#include <iostream>
#include <list>
using namespace std;
list <int>::iterator& operator+(list <int>::iterator &iter,int a)
{
for(int i=0;i <a;i++)
iter++;
return iter;
}
void main()
{
list <int> lis;
list <int>::iterator iter;
for(int i=0;i <10;i++)
lis.push_back(i);
iter=lis.begin()+4;
cout < <*iter < <endl;//这里为什么每次打印都是0呢????
}
#include <iostream>
#include <list>
using namespace std;
list<int>::iterator& operator+(list<int>::iterator &iter,int a)
{
for(int i=0;i<a;i++)
iter++;
return iter;
}
void main()
{
list<int> lis(10);
list<int>::iterator iter;
for(int i=0;i<10;i++)
lis.push_back(i);
iter=lis.begin()+4;
cout<<*iter<<endl;//这里为什么每次打印都是0呢????
}
------解决方案--------------------
#include <iostream>
#include <list>
using namespace std;
list <int>::iterator& operator+(list <int>::iterator &iter,int a)
{
for(int i=0;i <a;i++)
iter++;
return iter;
}
void main()
{
list <int> lis;
list <int>::iterator iter;
for(int i=0;i <10;i++)
lis.push_back(i);
iter=lis.begin()+4;
cout < <*iter < <endl;//这里为什么每次打印都是0呢????
}