这段代码怎么错了呢?
int main()
{
vector<string> vs;
vs.push_back("A");
vs.push_back("B");
vs.push_back("C");
vector<string>::iterator beg = vs.begin(),end = vs.end();
while ( --end >= beg )
{
cout<<*end;
}
}
结果正确,但是出现异常
[解决办法]
友情帮顶,友情帮顶
[解决办法]
--越界了
最后一次当end=beg时候;你的下次循环先--了;导致越界了;
[解决办法]
c++几乎忘记光了,试试这个
- C/C++ code
#include<iostream>#include<vector>using namespace std;int main(){vector<string> vs;vs.push_back("A");vs.push_back("B");vs.push_back("C");vector<string>::iterator beg = vs.begin(),end = vs.end()-1;while ( end >= beg ){cout<<*end--;}}
[解决办法]
- C/C++ code
while ( end != beg ) { cout<<*--end; }