История изменений
Исправление utf8nowhere, (текущая версия) :
Все же, какой тип по хорошему возвращать get(«key») из hash map, если в языке есть optional? В этом случае не стоит им пользоваться?
Я бы возвращал просто указатель и проверял на нуль. Если кто-то, получая указатель, не может удержаться от арифметики с ним — я думаю, это ихние проблемы.
Пока что методы unordered_map без зазрений совести возвращают T& или стреляют ошибкой
Есть find
, возвращающий итератор.
Не, конечно можно разрешить optional<T&>
и приписать ему какую-нибудь семантику, но, ИМО, сравнивать/апеллировать при этом с/к «обычным(и)» ссылкам(и) идеологически некорректно.
Исходная версия utf8nowhere, :
Все же, какой тип по хорошему возвращать get(«key») из hash map, если в языке есть optional? В этом случае не стоит им пользоваться?
Я бы возвращал просто указатель и проверял на нуль. Если кто-то, получая указатель, не может удержаться от арифметики с ним — я думаю, это ихние проблемы.
Пока что методы unordered_map без зазрений совести возвращают T& или стреляют ошибкой
Есть find
, возвращающий итератор.
Не, конечно можно разрешить optional<T&>
и приписать ему какую-нибудь семантику, но, ИМО, сравнивать/апеллировать при этом с/к «обычным(и)» ссылкам(и) это некорректно.