【发布时间】:2020-08-20 08:38:34
【问题描述】:
据我所知seeBOOST_STRONG_TYPEDEF 不支持移动语义(无移动 ctor/assignment)。
这只是一个疏忽(没有人更新旧宏)还是有更根本的原因导致强类型定义以这种方式受到限制?
【问题讨论】:
标签: c++ boost move-semantics strong-typing
据我所知seeBOOST_STRONG_TYPEDEF 不支持移动语义(无移动 ctor/assignment)。
这只是一个疏忽(没有人更新旧宏)还是有更根本的原因导致强类型定义以这种方式受到限制?
【问题讨论】:
标签: c++ boost move-semantics strong-typing
根本原因是许多 boost 库仍然针对 c++11 之前的标准编译器¹,即不支持移动语义的编译器。
我想某些编译器可能会使用 Boost Move 中的技巧,但我不确定是否可以轻松透明地应用于强类型定义。
但是,我总是使用自己的强大 typedef 来完成这项工作,正如我出于其他原因所建议的,例如How do I strongly typedef non-primitive types?
¹ Boost Serialization 绝对是这些库之一
【讨论】:
type_safe library, here