c++如何将一个类序列化再反序列化
时间: 2023-07-18 17:36:27
浏览: 215
C++ 中可以通过将类的成员变量进行序列化,将其转换为二进制格式,并将其保存到文件中,以实现序列化的操作。反序列化则是将二进制格式的数据读取出来,并将其转换为类的成员变量,再进行实例化的操作。
以下是一个简单的示例代码,演示了如何将一个类序列化再反序列化:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class Person {
public:
string name;
int age;
void serialize(const string& filename) {
ofstream ofs(filename, ios::binary);
ofs.write(name.c_str(), name.size() + 1);
ofs.write(reinterpret_cast<const char*>(&age), sizeof(age));
void deserialize(const string& filename) {
ifstream ifs(filename, ios::binary);
char buf[1024];
ifs.read(buf, sizeof(buf));
name = buf;
ifs.read(reinterpret_cast<char*>(&
```