我正在寻找一种方法,将元素向量插入到我已经声明的无序集合中。假设我有如下代码:
unordered_set<string> us;
vector<string> v{"green", "dog", "keys"};
这里,已经声明了us
。如何在声明后用一个命令(即没有for循环并单独推送元素(用向量v中的元素填充us
?
这个类似的答案将向量的元素添加到无序集并不是我想要的,因为无序集是在声明过程中初始化的。
更好的是,是否可以在一个命令中用多个元素填充无序集,而不使用向量?
使用带insert((的迭代器。
us.insert(v.cbegin(), v.cend());
只要序列符合输入迭代器的概念并返回字符串,就不需要向量。数组、其他集合、向量等都可以。