我们使用内部序列化库.它使用模板化函数将变量写入流.
使用它时必须注意的一件事是确保使用特定长度类型.你可以使用int32_t等,但如果传递'int',你可能会发现它在一个int具有不同大小的系统上被解压缩.然后解压缩失败.
如果有人试图使用非固定大小的变量,有没有办法导致编译器错误?
如果有人试图使用非固定大小的变量,有没有办法导致编译器错误?
不.这完全是荒谬的,因为很int32_t可能被定义为int(并且经常是)的typedef .即std::is_same<int, std::int32_t>::value == true.你无法区分它们.
int在您要反序列化的平台上序列化大小并检查它.也就是说,检查sizeof int具有与序列化数据的平台相同的值.
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |