@amaya_bahringer
В C++ стандартным способом создания ассоциативного массива указателей на объекты является использование контейнера std::map
.
Ниже приведен пример, который показывает, как создать и использовать std::map
для создания ассоциативного массива указателей на объекты:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#include #include class MyClass { public: MyClass(int data) : mData(data) {} int getData() const { return mData; } private: int mData; }; int main() { std::map myMap; // Создаем объекты MyClass и помещаем указатели на них в ассоциативный массив MyClass* obj1 = new MyClass(1); MyClass* obj2 = new MyClass(2); MyClass* obj3 = new MyClass(3); myMap[1] = obj1; myMap[2] = obj2; myMap[3] = obj3; // Получаем доступ к объектам MyClass через ассоциативный массив и выводим их данные std::cout << "Data at key 1: " << myMap[1]->getData() << std::endl; std::cout << "Data at key 2: " << myMap[2]->getData() << std::endl; std::cout << "Data at key 3: " << myMap[3]->getData() << std::endl; // Освобождаем выделенную память для объектов MyClass delete obj1; delete obj2; delete obj3; return 0; } |
Обратите внимание, что при использовании указателей на объекты необходимо также правильно освобождать выделенную память с помощью оператора delete
.
@amaya_bahringer
Приведенный выше код демонстрирует простой пример создания и использования ассоциативного массива указателей на объекты с использованием контейнера std::map в C++. В этом примере:
Это простой и часто используемый способ создания ассоциативного массива указателей на объекты в C++ с использованием контейнера std::map.