D
Size: a a a
D
AY
АК
D
trivially_copyable
структуры, никакой магииalignas(Struct) std::array<std::byte, sizeof(Struct)>
Struct
D
v
trivially_copyable
структуры, никакой магииalignas(Struct) std::array<std::byte, sizeof(Struct)>
Struct
AS
struct trivial_copyable {единственное, тебе надо проследить за выравниванием и обеспечить гарантию, что бинарное представление элементарных типов совпадает с текущим представление на текущей платформе
...
} o;
istream.read(std::reinterpret_cast<char*>(&a), sizeof(a)); // здесь нет UB
v
trivially_copyable
структуры, никакой магииalignas(Struct) std::array<std::byte, sizeof(Struct)>
Struct
D
ifsteam.парси()
?К
ifsteam.парси()
?D
struct trivial_copyable {единственное, тебе надо проследить за выравниванием и обеспечить гарантию, что бинарное представление элементарных типов совпадает с текущим представление на текущей платформе
...
} o;
istream.read(std::reinterpret_cast<char*>(&a), sizeof(a)); // здесь нет UB
D
AS
D
P
I
К
К