シリアライゼーションとは何か、何をするのか理解するのに苦労しています。
私の問題を単純化しましょう。私struct info
の c/c++ プログラムには があり、このstruct
データをファイルに保存しsave.bin
たり、ソケット経由で別のコンピューターに送信したりできます。
struct info {
std::string name;
int age;
};
void write_to_file()
{
info a = {"Steve", 10};
ofstream ofs("save.bin", ofstream::binary);
ofs.write((char *) &a, sizeof(a)); // am I doing it right?
ofs.close();
}
void write_to_sock()
{
// I don't know about socket api, but I assume write **a** to socket is similar to file, isn't it?
}
write_to_file
struct info
オブジェクトをディスクに保存するだけa
で、このデータが永続化されますよね? ソケットへの書き込みはほとんど同じですよね?
上記のコードでは、 data serializationを使用したとは思いませんが、とにかくデータa
は永続化されていますよね?save.bin
質問
では連載のポイントは?ここで必要ですか?はいの場合、どのように使用すればよいですか?
私は常に、どのような種類のファイルもメモリ内
.txt/.csv/.exe/...
のビットであると考えています。01
つまり、それらは自然にバイナリ表現を持っているので、これらのファイルをソケット経由で直接送信することはできませんか?
コード例は高く評価されています。