cip*_*her 0 c++ vector segmentation-fault
我一直在下面的代码中遇到段错误!任何人都可以解释发生了什么?
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string line;
getline(cin, line, '\n');
istringstream iss(line);
vector<string> result;
for(string token; getline(iss, token, ' '); )
{
//if(token.empty()) continue;
result.push_back(token); // << Segfaults here
}
for(int i = result.size()-1; i>=0; i++)
{
cout << result[i] << ' ';
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*rtz 10
for(int i = result.size()-1; i>=0; i++){
Run Code Online (Sandbox Code Playgroud)
你的循环不会停止.
也许你想要:
for(int i = result.size()-1; i >= 0; i--)
Run Code Online (Sandbox Code Playgroud)
或者,更好的是:
for(auto i = result.rbegin(); i!= rend(); i++) {
cout << *i << ' ';
}
Run Code Online (Sandbox Code Playgroud)