Вот небольшой пример:
#include <iostream>
#include <map>
class MyClass
{
// Upto you how your class looks like
};
int main()
{
// A map where key = int and value = MyClass
std::map<int, MyClass> myMap;
// Have some objects of MyClass to demonstrate the use of myMap
MyClass obj1, obj2, obj3;
/* Some basic operations */
// Example of insertion
myMap.insert({12, obj1});
myMap.insert({13, obj2});
myMap.insert({22, obj3});
// Example of deletion
myMap.erase(22); // removes myMap[22] i.e. obj3 leaves the map
// Example of searching
if (myMap.find(22) != myMap.end())
{
// process myMap[22]
std::cout << "myMap[22] exists";
}
else
{
std::cout << "myMap[22] does not exist";
}
// ...
return 0;
}
В принципе, нет ничего сложного в использовании пользовательского типа в качестве значений на карте. Если вы намеревались использовать их в качестве ключей , тогда вы можете посмотреть эту запись.
Вы также можете посмотреть эту документацию , чтобы узнать больше его функций.