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

溫馨提示×

c++ 中的 set 如何處理自定義類型

c++
小樊
81
2024-11-29 18:09:55
欄目: 編程語言

在 C++ 中,std::set 是一個關聯容器,它包含一組唯一的對象。默認情況下,std::set 使用 operator< 來比較元素,但你可以通過提供自定義的比較函數或自定義類型來實現不同的排序規則。

以下是如何在 C++ 中使用自定義類型作為 std::set 的元素:

  1. 定義自定義類型:
struct Person {
    std::string name;
    int age;

    // 自定義比較函數
    bool operator<(const Person& other) const {
        if (name != other.name) {
            return name < other.name;
        }
        return age < other.age;
    }
};
  1. 使用自定義類型作為 std::set 的元素:
#include <iostream>
#include <set>

int main() {
    std::set<Person> people;

    // 添加元素
    people.insert(Person{"Alice", 30});
    people.insert(Person{"Bob", 25});
    people.insert(Person{"Charlie", 30});

    // 遍歷集合
    for (const auto& person : people) {
        std::cout << person.name << ": " << person.age << std::endl;
    }

    return 0;
}

在這個例子中,我們定義了一個 Person 結構體,并重載了 < 運算符以便根據 nameagePerson 對象進行排序。然后,我們將 Person 對象插入到 std::set 中,并使用范圍 for 循環遍歷集合。

注意,由于我們自定義了比較函數,std::set 會根據 Person 對象的 nameage 屬性對元素進行排序。在這個例子中,具有相同 namePerson 對象將根據其 age 屬性進行排序。

0
安仁县| 三门峡市| 什邡市| 读书| 锡林郭勒盟| 广丰县| 大埔县| 庆安县| 抚顺县| 葫芦岛市| 陆河县| 高邑县| 错那县| 凌源市| 柞水县| 疏勒县| 吉林省| 崇明县| 霍山县| 嘉定区| 文安县| 根河市| 库伦旗| 荃湾区| 大港区| 澳门| 皋兰县| 太湖县| 东安县| 南丰县| 普兰店市| 米泉市| 阳新县| 北京市| 文水县| 文化| 祁阳县| 来安县| 冕宁县| 定南县| 邛崃市|