📅  最后修改于: 2023-12-03 14:39:52.664000             🧑  作者: Mango
在C++ STL中,unordered_multiset是一个关联容器,它存储元素不会进行排序,但与unordered_set不同的是,它允许存储相同的元素。
unordered_multiset的赋值运算符=用于将一个unordered_multiset赋值给另一个unordered_multiset。语法如下:
unordered_multiset& operator=(const unordered_multiset& ums);
其中,ums是要赋值的unordered_multiset。
该运算符将原有的元素清除,然后复制ums中的元素。复制后的元素将拥有与原有元素相同的哈希值和关键字相等的键。如果ums和被赋值的unordered_multiset是同一个,将不执行任何操作。
下面是一个示例程序:
#include <iostream>
#include <unordered_set>
int main() {
// 创建unordered_multiset
std::unordered_multiset<int> ums1 = {1, 2, 2, 3};
std::unordered_multiset<int> ums2;
// 使用赋值运算符将ums1赋值给ums2
ums2 = ums1;
// 输出ums1和ums2
std::cout << "ums1:";
for (int i : ums1) {
std::cout << " " << i;
}
std::cout << std::endl;
std::cout << "ums2:";
for (int i : ums2) {
std::cout << " " << i;
}
std::cout << std::endl;
return 0;
}
输出结果为:
ums1: 1 2 2 3
ums2: 1 2 2 3
注意,这里的输出顺序与输入顺序不一定相同。unordered_multiset中的元素是无序的。
参考资料: