c++ - 从 C++ 文件中读取包含 std::vector 的对象

标签 c++ c++11 fstream ifstream

namespace sd {
class frag_meta{
private:
    std::vector<std::vector<unsigned long long>> pos;
    std::vector<std::vector<size_t>> size;
    size_t meta_size = 0;

public:
    void extend(unsigned long long pos, size_t size);
    size_t get_meta_size();
};

上面的代码就是我在题目中提到的对象类。

此类作为单个文件中碎片化数据的元数据存在。 此类的对象应位于文件末尾。

我想读取此元数据以读取文件中的数据,但我不知道如何读取。由于此类包含 std::vector<> 对象,我不知道应该为 frag_meta 对象读取多少数据。

我真的需要帮助。

最佳答案

有多种选择:

  1. 为您的类编写自己的序列化(例如覆盖 operator<<()operator>>()
  2. 您可以使用现有的库,例如 https://github.com/USCiLab/cereal

关于c++ - 从 C++ 文件中读取包含 std::vector 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47375466/

相关文章:

python - 功能参数交互式探索工具

c++ - 优化掉未使用的参数化字段

c++ - 将 ASCII 写入文件

c++ - vector 的 vector 的初始化是否可以进行范围构造?

c++ - 使用放置/分段语法是否可以实现惰性 "operator or"重载?

c++ - 无法读取 C++ 中的文本文件

c++ - fstream::exceptions 意外行为

c++ - 列表中指针的问题

c++ - 关于返回 const 引用的问题

带有模板的 C++ Clang 优化错误