serialization - FlatBuffers 和 NULL 值
问题描述
在 FlatBuffers 中存储 NULL 值的规范方法是什么?
我有
ExpirationDate *int64
我理解为什么 FlatBuffers 没有定义 NULL。但我不明白如何正确处理。我应该有额外的布尔字段还是将值设为数组?
ExpirationDate [int64]
对比
ExpirationDate int64
ExpirationDateNull bool
对于表格,我也可以使用union
.
解决方案
第三个选项是struct NullableInt64 { i:int64 }
然后在表中有一个类型的字段NullableInt64
。当此字段不存在时,访问器函数将返回NULL
. 并且因为它是一个结构,它将在线路上占用与裸 int64 相同的空间(它们都是 8 个字节并且内联存储在父级中)。
推荐阅读
- authentication - 关于身份验证令牌的 insomnia bitbucket git 配置
- javascript - 每次更新后如何停止渲染多个表?
- javascript - 以 express 呈现 JSON 文件以在 PUG 中进行插值
- javascript - 如何发送多个文件FormData,其中每个文件属于不同的FormControl?
- c# - 如果可以添加超过大小的元素,我们为什么要初始化数组的大小?
- c++ - 如何将 Int 值返回到 ON_BN_CLICKED
- nuget - '' 不是有效的版本字符串。” VS2019 的 nuget 中的异常
- python - 从 Python 运行 MATLAB 脚本
- c# - 中国办公室 365 Outlook stmp 电子邮件不起作用
- macos - 从无代码 KEXT 迁移到 DEXT。usb接口消失了