Универсальный меньше <> для указателей в стандарте C ++
Много раз мне нужен был набор указателей. Каждый раз, когда это происходит, я пишу меньше & lt; & gt; реализация для типа указателя - приведите два указателя к size_t и сравните результаты.
Мой вопрос - это доступно в стандарте? Я не мог найти ничего подобного. Похоже, достаточно общий случай ...
Обновление. Похоже, что новый стандарт исправляет все проблемы с меньшим количеством & lt; & gt; предусмотрены для типов указателей и включены также unordered_set. Через несколько лет этот вопрос станет спорным.
Между тем, в текущем стандарте нет «легального» Решение этого, но приведение size_t работает.
Обновление для обновления: хорошо, я буду ошеломлен! Не только
std::map<void *, int, std::less<void*> > myMap;
работает, но даже
std::map<void *, int > myMap;
также.
И это в gcc 3.4.1. Я делал все эти забрасывания даром, и Либб совершенно прав. Даже номер раздела, который он цитирует, точно такой же в текущем стандарте. Ура!