В стандарте С++ иногда используется фраза "не следует исключать исключения", например, в 17.6.3.4 при перечислении требований Hash
. Означает ли это, что стандартная реализация должна отмечать оператор вызова std::hash
как noexcept
или это просто означает, что выполнение метаданных из хеш-функтора происходит в undefined или в реализации поведение?
Я проверил, что оба оператора libstdС++ и libС++ отмечают std::hash
как оператор noexcept
, но я хотел бы понять, требуется ли это поведение или нет.