Я хочу отобразить указатель на целое число с целью сериализации. Указатели могут быть разных типов и могут указывать на полиморфные объекты, возможно, использующие множественное наследование. Мне нужно запросить карту, чтобы узнать, хранится ли в ней указатель, и если это так, то каково связанное интегральное значение.
Как правильно это сделать?
Простой способ map<void*, int>
, о котором я думал, не сработает, потому что operator <
не определен для произвольных указателей. Или это не проблема в обычных системах?
Другое решение будет иметь vector<void*>
. Но для этого потребуется зациклить все указатели, хранящиеся в, и я не уверен, что приведение к void *
не нарушит operator ==
для объектов, использующих наследование.