web-dev-qa-db-ja.com

ベクトルの要素を順不同のセットに追加する

vectorのすべての要素をunordered_setに追加する簡単な方法はありますか?それらは同じタイプです。現在、私はforループを使用しており、それを行うより良い方法があるかどうか疑問に思っていました

26
jamesatha

Unordered_setを構築している場合:

std::vector<int> v;
std::unordered_set<int> s(v.begin(), v.end());
27
mythagel

構文にマイナーなバグがある場合はご容赦ください。ただし、この目的のための std :: copy function を試すことができます。

std::vector<int> v;
std::unordered_set<int> s;
std::copy(v.begin(),v.end(),std::inserter(s,s.end()));
14
Karthik T