c++ - 反序列化表示非根表的 flatbuffers 二进制文件

标签 c++ deserialization flatbuffers

是否可以反序列化表示非根表的二进制 FlatBuffers 对象?

假设以下 FlatBuffers 模式:

table Foo {
    ...
}
table Bar {
    value:[Foo];
}
root_type Bar;

假设我们可以访问表示 Foo 对象的二进制数据。是否可以将此二进制文件反序列化为 Foo 类的对象?查看我的 C++ 生成的头文件,我没有看到任何生成的函数,如 GetFoo()

最佳答案

GetFoo只是声明的 root_type 的便利函数那叫GetRoot<Foo> , 你可以使用 GetRoot<Bar>以访问任何类型作为根,假设缓冲区是这样构造的。

关于c++ - 反序列化表示非根表的 flatbuffers 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51806080/

相关文章:

c# - 如何反序列化 XML 中特定元素中属性的特定值?

c++使用 FlatBuffers 在二进制文件中写入具有循环依赖性的数据

http - Flatbuffers 的 MIME 类型?

c++ - Objective C(++) Insanity——对单个浮点变量的简单赋值导致另一个变量中的 {{{CRAZY}}} 值

c++ - 使用非 debian 托管库构建 debian 软件包

json - 如何使用 serde 将 JSON 数组反序列化为结构?

c# - 转换为 C# 中的对象列表时,Json 反序列化返回 null

c++ - 如何在 C/C++ 中的 unsigned char 数组中生成 n 个随机 1?

c++ - 初始化变量时的文字常量后缀

c++ - FlatBuffers 是否以某种方式避免了严格的别名?