91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++中unordered_set怎么保存兩個變量

c++
小億
92
2024-01-31 11:40:36
欄目: 編程語言

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`結構體的成員變量和哈希函數、相等比較函數。

0
双鸭山市| 江阴市| 分宜县| 中宁县| 海南省| 平武县| 芦溪县| 彰化市| 乐安县| 吉隆县| 林甸县| 仪陇县| 比如县| 教育| 平和县| 昭觉县| 乌兰县| 阜城县| 绥中县| 宝清县| 西丰县| 育儿| 贵州省| 文昌市| 兴化市| 尤溪县| 舒兰市| 淳安县| 甘洛县| 浙江省| 竹北市| 即墨市| 辽宁省| 邛崃市| 如东县| 子长县| 孙吴县| 夏邑县| 靖远县| 越西县| 桑日县|