C ++: указатель как ключ в хеш-таблице - PullRequest
8 голосов
/ 17 января 2011

Есть ли проблемы с использованием указателей в качестве ключей хеш-таблицы при запуске программы? (нет необходимости хранить на диске и использовать его позже, поскольку это вызывает очевидные проблемы)

Есть много обстоятельств, когда мне нужно быстро узнать, принадлежит ли объект какому-либо диспетчеру объектов. Быстрый способ проверить это - сохранить каждый объект в диспетчере объектов в хеш-таблице, где указатель объекта является ключом к реальному объекту: E.g, HashTable

Ответы [ 3 ]

5 голосов
/ 17 января 2011

Нет, проблем нет.Это все равно что хранить int.

. Указатель имеет значение, которое не изменяется и однозначно идентифицирует ресурс.

Конечно, могут быть проблемы, если вы не используетену ваши указатели, но это другая, некоррелированная вещь.

0 голосов
/ 17 января 2011

От макушки головы - если пространство памяти, на которое указывает ваша хеш-таблица, освобождается без предварительного удаления ссылок на пространство памяти, на которое указывают ваши указатели, будут происходить утечки памяти.

0 голосов
/ 17 января 2011

Это должно работать достаточно хорошо.Вы видите какие-либо проблемы?Может быть, вы должны просто попробовать и посмотреть.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...