有没有一种简单的方法将vector
的所有元素添加到unordered_set
中?它们都是同一类型。目前,我正在使用for循环,想知道是否有更好的方法。
有没有一种简单的方法将vector
的所有元素添加到unordered_set
中?它们都是同一类型。目前,我正在使用for循环,想知道是否有更好的方法。
如果你正在构建unordered_set,则:
std::vector<int> v;
std::unordered_set<int> s(v.begin(), v.end());
如果我的语法有任何小错误,请原谅,但您可以尝试std::copy函数,它是为此目的而设计的。
std::vector<int> v;
std::unordered_set<int> s;
std::copy(v.begin(),v.end(),std::inserter(s,s.end()));
std::inserter
来向关联容器中插入元素。 - James McNellis
vector<int> v; set<int> s(v.begin(), v.end()); for(...) // here I push back elements for( auto i : s) cout << i;
没有输出任何内容,并且调试显示该集合为空。 - 101is5