据我所知see BOOST_STRONG_TYPEDEF不支持移动语义(不移动ctor /赋值)。
这仅仅是一个疏忽(没有人更新旧宏)还是有更根本的原因限制了这种强类型定义?
最佳答案
根本原因是,许多Boost库仍然针对c++ 11之前的标准编译器¹,即不支持移动语义的编译器。
我想对于某些编译器,可能会使用Boost Move中的技巧,但我不确定透明地将其应用于强类型定义很容易。
但是,我总是会用自己强大的typedef来完成这项工作,因为出于其他原因,例如How do I strongly typedef non-primitive types?
¹Boost序列化绝对是这些库之一
关于c++ - BOOST_STRONG_TYPEDEF并 move 语义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61617315/