LINUX.ORG.RU

История изменений

Исправление utf8nowhere, (текущая версия) :

Все же, какой тип по хорошему возвращать get(«key») из hash map, если в языке есть optional? В этом случае не стоит им пользоваться?

Я бы возвращал просто указатель и проверял на нуль. Если кто-то, получая указатель, не может удержаться от арифметики с ним — я думаю, это ихние проблемы.

Пока что методы unordered_map без зазрений совести возвращают T& или стреляют ошибкой

Есть find, возвращающий итератор.

Не, конечно можно разрешить optional<T&> и приписать ему какую-нибудь семантику, но, ИМО, сравнивать/апеллировать при этом с/к «обычным(и)» ссылкам(и) идеологически некорректно.

Исходная версия utf8nowhere, :

Все же, какой тип по хорошему возвращать get(«key») из hash map, если в языке есть optional? В этом случае не стоит им пользоваться?

Я бы возвращал просто указатель и проверял на нуль. Если кто-то, получая указатель, не может удержаться от арифметики с ним — я думаю, это ихние проблемы.

Пока что методы unordered_map без зазрений совести возвращают T& или стреляют ошибкой

Есть find, возвращающий итератор.

Не, конечно можно разрешить optional<T&> и приписать ему какую-нибудь семантику, но, ИМО, сравнивать/апеллировать при этом с/к «обычным(и)» ссылкам(и) это некорректно.