thim,例如:
int Save(void* pObj, size_t objSize, std::string filePath);
int Load(void* pObj, std::string filePath);
有更高层次的方法吗?
我问的原因是我有大量的不同类,需要以JSON格式保存,到目前为止,我正在为每个班级编写特定的成员功能来做到这一点。我想知道是否可以将这些类的对象保存为内存块,而不必关心它们所属的类。
我的尝试涉及以下内容:在缓冲区中获取对象的大小,该对象支持函数将其内容写入缓冲区和函数以从缓冲区读取。 该对象知道哪些成员应该进入缓冲区,哪些不应该进入。
struct Binary_Interface
{
size_t get_size_of_items_in_buffer() const = 0;
size_t store_to_buffer((uint8_t *) &buffer_pointer) = 0;
size_t load_from_buffer((uint8_t *) &buffer_pointer) = 0;
};
使用
get_size_of_items_in_buffer()
确定缓冲尺寸。
分配一个缓冲区store_to_buffer
或
load_from_buffer