我注意到了c ++ vector构造函数的一些奇怪的行为,有人可以为我解释一下吗?谢谢.
代码段1有效:
#include <string>
#include <vector>
#include <iostream>
#include <istream>
#include <ostream>
#include <iterator>
#include <sstream>
#include <algorithm>
using namespace std;
int main()
{
string str = "The quick brown fox";
stringstream strstr(str);
istream_iterator<string> start(strstr);
vector<string> results(start, istream_iterator<string>());
ostream_iterator<string> oit(cout, "\n");
copy(results.begin(), results.end(), oit);
}
Run Code Online (Sandbox Code Playgroud)
但是代码段2没有:
#include <string>
#include <vector>
#include <iostream>
#include <istream>
#include <ostream>
#include <iterator>
#include <sstream>
#include <algorithm>
using namespace std;
int main()
{
string str = "The quick brown fox";
stringstream strstr(str);
vector<string> …Run Code Online (Sandbox Code Playgroud)