声明c++后将向量插入无序集中

insert vector into unordered set after declaration c++

我正在寻找一种方法将元素向量插入到我已经声明的无序集合中。假设我有如下代码:

unordered_set<string> us;
vector<string> v{"green", "dog", "keys"};

这里已经声明了us。如何使用一个命令(即没有 for 循环并单独推送元素) 其声明之后用向量 v 中的元素填充 us

这个类似的答案 adding elements of a vector to an unordered set 不是我要找的,因为无序集是在声明期间初始化的。

更好的是,是否可以在不使用向量的情况下在一个命令中使用多个元素填充无序集?

使用带有 insert() 的迭代器。

us.insert(v.cbegin(), v.cend());

不需要向量只要序列符合input iterator concept和returns字符串即可。一个array,其他set,vector等都可以。