📜  C++ STL中的unordered_set运算符=(1)

📅  最后修改于: 2023-12-03 14:59:47.066000             🧑  作者: Mango

C++ STL中的unordered_set运算符=

介绍

unordered_set是C++ STL中的一个容器,它是用哈希表实现的一种无序集合。在实际开发中,我们经常需要对两个unordered_set进行赋值操作,这时候就需要使用运算符=

运算符重载

在C++中,=是一种运算符,可以用于对unordered_set进行赋值操作。=运算符的重载方式如下:

unordered_set& operator=(const unordered_set& other);

此重载运算符将左侧unordered_set对象赋值为右侧unordered_set对象。它接受一个unordered_set对象作为参数,返回一个对当前对象的引用。这是因为赋值操作通常会在链式表达式中使用,所以需要返回对当前对象的引用。

示例

下面是一个示例程序,展示了如何使用运算符=对两个unordered_set进行赋值操作:

#include <iostream>
#include <string>
#include <unordered_set>

using namespace std;

int main()
{
    // 创建两个unordered_set
    unordered_set<string> set1 = {"John", "Mary", "Alice"};
    unordered_set<string> set2 = {"Tom", "Jerry"};

    // 使用运算符=将set2赋值给set1
    set1 = set2;

    // 输出set1
    for (auto& e : set1)
    {
        cout << e << " ";
    }
    cout << endl;

    return 0;
}

输出结果为:

Jerry Tom
总结

运算符=是C++ STL中的一个重要运算符,用于对unordered_set容器进行赋值操作。使用运算符=可以简化代码,提高程序的开发效率。在使用运算符=的时候要注意,左右两个unordered_set的类型必须相同,否则编译器会报错。