Привет , я хотел бы сохранить двоичный объект std::vector<std::vector<int> >
MATRIX в файле.
out.write((char*)&MATRIX, sizeof(MATRIX));
Проблема в том, что фиксирован только размер столбца.Размер строки изменяется.Если я читаю объект из двоичного файла, недостаточно знать только размер, не так ли?Таким образом, инициализация, например, второй матрицы с
std::vector<std::vector<int> > MATRIX2;
for ( int i=0;i<column_dim;i++ ) MATRIX2.push_back ( vector<int> ( 0 ) );
ifstream in(cstr, ios::in | ios::binary);
и чтение данных объекта с помощью
ifstream in(cstr, ios::in | ios::binary);
in.read((char*)& MATRIX2, fSize);
не имеет смысла, поскольку компилятор не имеет представления о структуре сохраненных данных.Мой вопрос: есть ли лучший способ решить эту проблему, чем сохранить структуру матрицы (всю информацию о размерах строк) во втором файле, прочитать ее и создать MATRIX2 с соответствующей структурой, которая затем заполняется с помощью
ifstream in(cstr, ios::in | ios::binary);
in.read((char*)&nn_H_test, fSize);
?