c++如何将一个包含vector 、map、double*、成员的类序列化再反序列化
时间: 2023-11-26 17:04:25
浏览: 200
将一个包含 vector、map、double*、成员的类进行序列化和反序列化,可以采用类似上面的示例代码的方式,只需要对数据的读取和写入进行一些修改即可。
以下是一个简单的示例代码,演示了如何将一个包含 vector、map、double*、成员的类进行序列化和反序列化:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <map>
using namespace std;
class MyClass {
public:
int id;
string name;
vector<int> vec;
map<int, string> mp;
double* ptr;
size_t size;
void serialize(const string& filename) {
ofstream ofs(filename, ios::binary);
ofs.write(reinterpret_cast<const char*>(&id), sizeof(id));
ofs.write(name.c_str(), name.size() + 1);
size = vec.size();
ofs.write(reinterpret_cast<const char*>(&size), sizeof(size));
```