это просто действительно симпатичная альтернатива для C-подобного броска и ничего более?
Вы говорите, как будто это какая-то тривиальная деталь.
Приведенияопасно.Легко привести что-то к неправильному типу, и часто компиляторы не будут мешать вам делать именно это.Кроме того, поскольку std::byte
не является целочисленным типом в C ++, работа с числовыми значениями байтов часто требует определенного количества приведений.Наличие функции, которая явно преобразует в целые числа, делает работу с пользователем более безопасной.
Например, float(some_byte)
совершенно допустимо, а to_integer<float>(some_byte)
явно запрещено.to_integer<T>
требует, чтобы T
был целым типом.
to_integer
является более безопасной альтернативой.
Я должен включить целый заголовок для такогофункция
Если под "целым заголовком" подразумевается тот же заголовок , от которого вы получили std::byte
и, следовательно, уже по определению включен ...