我有一个这样的函数模板:
template <class ...A>
do_something()
{
// i'd like to do something to each A::var, where var has static storage
}
我不能使用 Boost.MPL
。你能告诉我如何在没有递归的情况下做到这一点吗?
编辑:这些天(c ++ 17),我会这样做:
template <class ...A>
do_something()
{
((std::cout << A::var << std::endl), ...);
};
原文由 user1095108 发布,翻译遵循 CC BY-SA 4.0 许可协议
谢欧说 的。为了创建包扩展的上下文,我使用了一个什么都不做的函数的参数列表(
dummy
):该程序打印
111
。