История изменений
Исправление
kvpfs,
(текущая версия)
:
Слишком категорично. Ну вот я читаю бинарный файл. Знаю, что в начале есть определённый заголовок. Могу просто кастануть char*, указывающий на данные из файла, в Header* и удобно читать данные.
Так против данного кейса я ничего не имею, это можно. retinterpret_cast<char(singed/unsigned)/std::byte*> - практически единственные варианты, которые можно. Каст указателей за пределами данного сценария нужно смотреть под лупой, хорошо бы даже в коде оставить коммент с объяснением своих действий.
Прочитал по диагонали, нельзя так. Копировать надо, вон даже bit_cast завезли для удобства.
Исправление
kvpfs,
:
Слишком категорично. Ну вот я читаю бинарный файл. Знаю, что в начале есть определённый заголовок. Могу просто кастануть char*, указывающий на данные из файла, в Header* и удобно читать данные.
Так против данного кейса я ничего не имею, это можно. retinterpret_cast<char(singed/unsigned)/std::byte*> - практически единственные варианты, которые можно. Каст указателей за пределами данного сценария нужно смотреть под лупой, хорошо бы даже в коде оставить коммент с объяснением своих действий.
Исходная версия
kvpfs,
:
Слишком категорично. Ну вот я читаю бинарный файл. Знаю, что в начале есть определённый заголовок. Могу просто кастануть char*, указывающий на данные из файла, в Header* и удобно читать данные.
Так против данного кейса я и не против, это можно. retinterpret_cast<char(singed/unsigned)/std::byte*> - практически единственные варианты, которые можно. Каст указателей за пределами данного сценария нужно смотреть под лупой, хорошо бы даже в коде оставить коммент с объяснением своих действий.