gpt4 book ai didi

c++ - c++ vector 构造函数的奇怪行为

转载 作者:太空宇宙 更新时间:2023-11-04 16:13:21 25 4
gpt4 key购买 nike

<分区>

我注意到 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);
}

但是代码片段 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> results(istream_iterator<string>(strstr), istream_iterator<string>());

ostream_iterator<string> oit(cout, "\n");
copy(results.begin(), results.end(), oit);
}

唯一的区别是 vector 构造函数中的第一个参数。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com