BOOST_STRONG_TYPEDEF 和移动语义
BOOST_STRONG_TYPEDEF and move semantics
据我所知see BOOST_STRONG_TYPEDEF 不支持移动语义(不移动ctor/assignment)。
这只是一个疏忽(没有人更新旧的宏)还是强类型定义以这种方式受到限制有更根本的原因?
根本原因是许多 boost 库仍然针对 c++11 之前的标准编译器¹,即不支持移动语义的编译器。
我想对于某些编译器,可能会使用 Boost Move 中的技巧,但我不确定透明地应用于强类型定义是否容易。
但是,我总是使用自己的强类型定义来完成这项工作,正如我出于其他原因所建议的那样,例如How do I strongly typedef non-primitive types?
¹ Boost Serialization 绝对是这些库之一
据我所知see BOOST_STRONG_TYPEDEF 不支持移动语义(不移动ctor/assignment)。
这只是一个疏忽(没有人更新旧的宏)还是强类型定义以这种方式受到限制有更根本的原因?
根本原因是许多 boost 库仍然针对 c++11 之前的标准编译器¹,即不支持移动语义的编译器。
我想对于某些编译器,可能会使用 Boost Move 中的技巧,但我不确定透明地应用于强类型定义是否容易。
但是,我总是使用自己的强类型定义来完成这项工作,正如我出于其他原因所建议的那样,例如How do I strongly typedef non-primitive types?
¹ Boost Serialization 绝对是这些库之一