据我所知 看到 BOOST_STRONG_TYPEDEF 不支持移动语义(没有移动 ctorassignment)。
这只是一个疏忽(没有人更新旧的宏),还是有更根本的原因导致强类型定义受到这样的限制?
最根本的原因是,许多boost库仍然是针对pre-c++11标准编译器¹,即不支持移动语义的编译器。
我想对于一些编译器来说,可能会使用Boost Move中的技巧,但我不确定这是否容易透明地应用于强类型定义。
然而,我总是会推出我自己的强类型定义来完成这项工作,就像我在其他原因中所建议的那样,例如 我如何对非原生类型进行强类型化定义?
Boost Serialization绝对是这些库中的一个。