LINUX.ORG.RU

История изменений

Исправление 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*> - практически единственные варианты, которые можно. Каст указателей за пределами данного сценария нужно смотреть под лупой, хорошо бы даже в коде оставить коммент с объяснением своих действий.