读书人

这段代码如何错了呢

发布时间: 2012-02-06 15:52:44 作者: rapoo

这段代码怎么错了呢?
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;    } 

读书人网 >C++

热点推荐