【发布时间】:2016-08-16 05:48:03
【问题描述】:
这是来自variant.hpp 文件的相关代码(在这里找到http://www.boost.org/doc/libs/1_49_0/boost/variant/variant.hpp)
template <
typename T0_
, BOOST_VARIANT_ENUM_SHIFTED_PARAMS(typename T)
>
class variant {
为什么这不是用可变参数模板构建的?答案可能是因为向后兼容。如果是,那么上面的代码在高层次上到底发生了什么?如何以类似于从用户级别使用可变参数模板的方式使用预处理器?
【问题讨论】:
-
你有没有偶然发现标志BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES?
标签: c++ c++11 boost variadic-templates boost-preprocessor