Стандартный способ сделать это, как указывает Джейсон Тернер , - это использовать memcpy
:
float f = 1.0;
std::byte c[sizeof(f)];
memcpy(c, &f, sizeof(f));
Возможно, вы думаете, что не хотите копироватьвсе, что вы просто хотите увидеть биты / байты. Что ж, компиляторы умны, и они фактически оптимизируют его, как продемонстрировал Джейсон, так что не беспокойтесь и используйте memcpy
для такого рода вещей и никогда reinterpret_cast
.