std::bit_cast
Вопрос
Что делает std::bit_cast<To>(from) и какие требования к типам?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Ответ
Возвращает объект типа To с тем же представлением в байтах, что у from (C++20, <bit>). Типы должны быть одного размера и тривиально копируемыми. Замена небезопасному reinterpret_cast и union-трюкам; может быть constexpr.
Разбор
Возвращает объект типа To с тем же представлением в байтах, что у from (C++20, <bit>). Типы должны быть одного размера и тривиально копируемыми. Замена небезопасному reinterpret_cast и union-трюкам; может быть constexpr.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Середина двух int64 без переполнения
Следующий вопрос
Что C++20 изменил для знаковых целых
Ещё по теме «Типы и неопределённое поведение»
- Порядок байтов: перевернуть uint32 и посчитать единицы
- Умножение int64 с проверкой переполнения
- Порядок вычисления аргументов функции
- Объясни, что такое неопределённое поведение
- Продвижение unsigned char
- Размер long на Windows и Linux
- Сопоставьте пример и вид поведения
- Почему проверка x + 1 < x исчезла