Dari dokumentasi boost.serialization : Di sini, kami menggunakan istilah "serialisasi" yang berarti dekonstruksi reversibel dari sekumpulan struktur data C ++ yang sewenang-wenang ke urutan byte. Sistem seperti itu dapat digunakan untuk menyusun kembali struktur yang setara dalam konteks program lain. Tergantung pada konteksnya, ini mungkin menggunakan objek persistence, passing parameter jarak jauh atau fasilitas lainnya. Dalam sistem ini kami menggunakan istilah "arsip" untuk merujuk pada rendering spesifik dari aliran byte ini. Ini bisa berupa file data biner, data teks, XML, atau lainnya yang dibuat oleh pengguna perpustakaan ini.
Dengan kata lain, serialisasi adalah setiap proses yang mengubah objek dalam memori menjadi semacam bytestream, dan deserialisasi melakukan sebaliknya, mengambil bytestream dan mengubahnya kembali menjadi objek dalam memori.
Istilah "serialisasi" tidak menyiratkan apa pun tentang format bytestream. Ini mungkin format biner yang dikemas secara efisien, atau deskripsi XML atau YAML yang longgar. Bahkan mungkin kode sumber dalam bahasa asli itu sendiri, atau dalam bahasa pemrograman lain, seperti JSON , yang merupakan bagian dari JavaScript. Format yang tepat dari aliran serial harus dipilih berdasarkan pada bagaimana Anda bermaksud menggunakannya.
Serialisasi adalah fitur bawaan dari banyak bahasa dan lingkungan - misalnya Java dan Python . Dalam bahasa tingkat rendah seperti C dan C ++, seseorang harus menggunakan (atau menulis) pustaka serialisasi , karena mekanisme yang disediakan oleh bahasa biasanya tidak cukup baik - ia tidak dapat mengikuti atau membuat serial petunjuk dan referensi, dan tunduk pada masalah endianness, karena contoh.
Wikipedia memiliki artikel yang layak tentang serialisasi.
Serialisasi digunakan secara luas dalam game (dan semua perangkat lunak) untuk banyak tujuan:
- Memuat daftar semua mantra dalam game dari file sumber daya.
- Menyimpan dan memuat game.
- Merekam keadaan hal-hal (misalnya posisi pemain dan inventaris) ke SQL atau database objek.
- Menjalankan panggilan fungsi jarak jauh melalui jaringan atau tautan IPC lainnya.
Membuat cerita bersambung pada dasarnya berarti mengubahnya menjadi sebuah seri. Ini diperlukan jika Anda ingin mengirim sesuatu melalui jaringan atau menulisnya ke file, karena keduanya mengharapkan serangkaian byte. Jadi itu umumnya istilah mewah untuk sistem simpan dan muat. Dalam kasus Bullet, itu hanya mengambil data mesh dan menyimpannya dalam bentuk yang dapat digunakan secara efektif oleh Bullet. Anda dapat menyimpan ini dan memuatnya nanti tanpa perlu menganalisis ulang jerat Anda.
sumber
Serialize / De-serialize hanya menyiapkan dan menulis / membaca objek ke / dari disk.
sumber
Saya pribadi menggunakan serialisasi untuk jaringan. Di luar itu saya tidak punya banyak kegunaan untuk itu. Jika Anda ingin tahu mengapa itu digunakan dalam Bullet, peluang terbaik yang Anda miliki untuk mendapatkan jawaban adalah dengan bertanya di forum Bullet atau membaca dokumentasi.
sumber