溫馨提示×

C++ Map容器能否存儲自定義類型

c++
小樊
179
2024-07-21 02:56:56
欄目: 云計算

是的,C++的Map容器可以存儲自定義類型。要在Map容器中存儲自定義類型,需要定義一個比較函數或者重載<運算符,以便Map容器可以正確比較和排序自定義類型的對象。例如:

#include <iostream>
#include <map>

class MyType {
public:
    int value;
    
    MyType(int val) : value(val) {}
    
    bool operator<(const MyType& other) const {
        return value < other.value;
    }
};

int main() {
    std::map<MyType, int> myMap;
    
    myMap[MyType(1)] = 10;
    myMap[MyType(2)] = 20;
    
    for (auto& pair : myMap) {
        std::cout << "Key: " << pair.first.value << ", Value: " << pair.second << std::endl;
    }
    
    return 0;
}

在上面的例子中,我們定義了一個名為MyType的自定義類型,并在Map容器中存儲了這個自定義類型的對象作為鍵,以及與之關聯的整數值作為值。我們重載了<運算符,以便Map容器可以正確比較MyType對象。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女