【发布时间】:2010-11-14 18:08:22
【问题描述】:
boost::variant 声称它是一个值类型。这是否意味着只要简单地写出 boost::variant 的原始表示并稍后将其加载回来是安全的,只要它只包含 POD 类型?假设它将被相同编译器和相同版本的 boost 在相同架构上编译的代码重新加载。
另外,(可能)等效地,可以在共享内存中使用 boost::variant 吗?
【问题讨论】:
-
吐出原始内存表示,即使它只是 POD 的结构,也是一个糟糕的主意,并且会让您受制于编译器的填充布局、架构细节和字节序。
-
当时我对共享内存的使用更感兴趣,在这种情况下,布局差异根本不会成为问题。
标签: c++ serialization boost shared-memory boost-variant