Как сделать пользовательские переменные значения в картах - PullRequest
0 голосов
/ 05 апреля 2020

Предположим, я создаю пользовательскую переменную в C ++. Как я могу использовать эту переменную в качестве значения на карте?

Например:

std::map<int, mytype> mappa;

Если бы я мог получить несколько простых примеров, чтобы я мог полностью понять концепцию, это ' было бы здорово.

1 Ответ

0 голосов
/ 05 апреля 2020

Вот небольшой пример:

#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;
}

В принципе, нет ничего сложного в использовании пользовательского типа в качестве значений на карте. Если вы намеревались использовать их в качестве ключей , тогда вы можете посмотреть эту запись.

Вы также можете посмотреть эту документацию , чтобы узнать больше его функций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...