Запись/чтение из двоичного файла без объявления буферной переменной, но через анонимный объектC++

Программы на C++. Форум разработчиков
Anonymous
Запись/чтение из двоичного файла без объявления буферной переменной, но через анонимный объект

Сообщение Anonymous »

В настоящее время для записи в двоичный файл я бы написал:

Код: Выделить всё

file.write((char*)&toWrite, sizeof(toWrite type));
А для чтения из двоичного файла я бы написал:

Код: Выделить всё

file.read((char*)&readInto, sizeof(readInto type));
Но из-за этого метода чтения/записи установка значений по умолчанию в двоичный файл (для непоследовательного чтения/записи из/в файл) потребует использования буферной переменной с значения по умолчанию:

Код: Выделить всё

myType defaultValues; //defaultValues is initialized with
//myType's default constructor values
file.write((char*)&defaultValues, sizeof(myType));
Я думал, что через анонимный объект это можно будет сделать в следующей, более короткой форме:

Код: Выделить всё

file.write((char*)&myType(), sizeof(myType)); //myType() is
//an object which is initialized by myType's default constructor values
Но поскольку анонимные объекты не являются lvalue, это невозможно.
Следовательно, возникает вопрос: есть ли способ сократить, исключив необходимость определить переменную исключительно для предварительной настройки двоичного файла - предварительной настройки двоичного файла, как я сделал с анонимным объектом - таким образом, чтобы это действительно работало?

Подробнее здесь: https://stackoverflow.com/questions/786 ... r-variable

Вернуться в «C++»