Изменить целочисленное значение по умолчанию из словаря C ++ Метод TryGetValue ()? - PullRequest
0 голосов
/ 29 июля 2011

Быстрый вопрос, который, боюсь, имеет короткий и неутешительный ответ, но, увы, я все равно задам .. В методе C ++ Dictionary TryGetValue () есть ли способ изменить значение по умолчанию, которое будет возвращено для целого числа (вместо -1, например), когда ключ отсутствует? Проблема в том, что 0 является значением по умолчанию, и это не подходит, потому что значение 0 будет иметь смысл в контексте моей программы.

Если нет, метод ContainsKey () намного медленнее? Или это раскалывание волос и не о чем беспокоиться, потому что, по всей вероятности, у меня нет выбора ..

Большое спасибо

PS Мне не нужно выполнять какую-либо функцию хеширования (хотя это может быть в реализации Словаря в любом случае!) И не иметь никакого особого порядка в моей коллекции, я просто хочу, чтобы поиск и добавление выполнялись как можно быстрее. Является ли Словарь хорошим выбором?

1 Ответ

0 голосов
/ 29 июля 2011

Почему бы вам не создать класс, который наследует от Dictionary(Of TKey, TValue) и переопределить функцию TryGetValue.Затем вы можете использовать свой собственный класс, и он будет вести себя так, как вы бы хотели ...

...