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 или какая-то общая библиотека, которая предлагает карту, которая позволяет мне хранить указатели, но выполняет ли внутреннюю проверку на равенство — и, возможно, также хеширование — используя операторы для указанных объектов, а не сами указатели?
Я не могу сохранить объект непосредственно на карте, поскольку параметр типа карты должен быть абстрактным суперклассом.
Задача ещё не решена.
Других решений пока нет …