словарь — C ++ Проверка равенства в картах из указателей

SOME_MAP<Foo*, int> map = SOME_MAP<Foo*, int>();
Foo *a = new Foo(42);
Foo *b = new Foo(42);

map[a] = 42;
cout << map[b] << endl; // Should print 42 if *a == *b.

Есть ли какой-то класс карты в stl или какая-то общая библиотека, которая предлагает карту, которая позволяет мне хранить указатели, но выполняет ли внутреннюю проверку на равенство — и, возможно, также хеширование — используя операторы для указанных объектов, а не сами указатели?

Я не могу сохранить объект непосредственно на карте, поскольку параметр типа карты должен быть абстрактным суперклассом.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]