list容器输出有错误
#include<iostream>#include<string>
#include<list>
#include<vector>
using namespace std;
int main()
{
string sa[3]={"abc","bbc","abd"};
int i=0;
while(i<3)
{
cout<<sa[i]<<endl;
i++;
}
i=0;
list<string>::iterator p;
list<string> slist(sa,sa+3);
p=slist.begin();
for(;p!=slist.end();++p)//为什么list容器只能这么输出?
{
cout<<*p<<endl;
}
i=0;
list<string> slist2(sa,sa+3);
list<string>::iterator q;
q=slist2.begin();
while(i<3)
{
cout<<*(q+i)<<endl;//这样输出list容器内的内容为什么不行?
i++;
}
i=0;
vector<string> slist3(sa,sa+3);
vector<string>::iterator m;
m=slist3.begin();
while(i<3)
{
cout<<*(m+i)<<endl;
i++;
}
return 0;
}