117.info
人生若只如初见

c++中unordered_set怎么保存两个变量

C++中的`unordered_set`是一个无序的集合容器,用于存储唯一的元素。它存储的元素类型可以是任意自定义类型,包括保存两个变量的情况。

要保存两个变量,可以使用自定义结构体或类作为`unordered_set`的元素类型。下面是一个使用自定义结构体的示例:

```cpp

#include

#include

struct MyPair {

int x;

int y;

};

struct MyPairHash {

size_t operator()(const MyPair& pair) const {

return std::hash()(pair.x) ^ std::hash()(pair.y);

}

};

struct MyPairEqual {

bool operator()(const MyPair& lhs, const MyPair& rhs) const {

return lhs.x == rhs.x && lhs.y == rhs.y;

}

};

int main() {

std::unordered_set mySet;

mySet.insert({1, 2});

mySet.insert({3, 4});

mySet.insert({1, 2}); // 重复的元素不会被插入

for (const auto& pair : mySet) {

std::cout << pair.x << ", " << pair.y << std::endl;

}

return 0;

}

```

在上面的示例中,`MyPair`是自定义的结构体,包含两个整数类型的成员变量`x`和`y`。`MyPairHash`是自定义的哈希函数,用于计算`MyPair`类型的哈希值。`MyPairEqual`是自定义的相等比较函数,用于判断`MyPair`类型的元素是否相等。

在`main`函数中,创建了一个`unordered_set`对象`mySet`,并使用`insert`函数插入了几个`MyPair`类型的元素。注意,重复的元素不会被插入,因为`unordered_set`中的元素是唯一的。

最后,使用范围`for`循环遍历`mySet`,并输出每个`MyPair`类型元素的成员变量`x`和`y`的值。

你可以根据自己的需求自定义`MyPair`结构体的成员变量和哈希函数、相等比较函数。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe25aAzsLAQBWBFU.html

推荐文章

  • c# winform组件 怎样集成

    在C# WinForms应用程序中集成组件通常涉及以下几个步骤: 添加引用: 首先,确保你已经安装了所需的组件。例如,如果你想要集成一个第三方库,你需要将该库的DLL...

  • c# winform组件 怎样提高效率

    要提高C# WinForms应用程序的效率,可以从多个方面入手,包括优化绘图过程、使用异步操作、合理设置控件属性等。以下是一些具体的优化策略:
    优化绘图过程 ...

  • c# winform组件 怎样自定义

    在C#中,要自定义WinForms组件,您需要创建一个继承自现有控件的新类,并重写其构造函数、事件处理程序和其他相关方法。以下是一个简单的示例,说明如何创建一个...

  • c# winform组件 怎样选择合适

    在C# WinForms应用程序开发中,选择合适的组件对于构建高效、用户友好的界面至关重要。以下是一些选择合适组件的建议:
    控件选择 根据需求选择:选择控件时...

  • mysql怎么使用索引查询数据

    要使用索引查询数据,可以按照以下步骤进行:1、创建索引:首先,在需要加索引的列上创建索引。你可以通过使用CREATE INDEX语句来创建索引。例如,以下语句创建一...

  • 幻兽帕鲁异界大叔在哪里

    幻兽帕鲁异界大叔是一款游戏中的角色,您可以在游戏中寻找该角色。具体来说,您可以通过以下方式找到幻兽帕鲁异界大叔:1. 游戏地图:在游戏中,您可以查看游戏地...

  • 幻兽帕鲁服务器购买如何选择硬件配置

    选择幻兽帕鲁服务器的硬件配置时,可以考虑以下几个因素:1. 处理器(CPU):选择具有较高的核心数和较高的时钟频率的处理器,以提供更好的性能。2. 内存(RAM)...

  • 幻兽帕鲁服务器被攻击怎么解决

    如果幻兽帕鲁服务器遭到攻击,可以采取以下措施来解决问题:1. 隔离服务器:立即将受攻击的服务器从网络中隔离,以阻止攻击者进一步侵入系统或利用服务器进行其他...