我正在尝试避免外部函数或递归调用,所以我决定测试lambdas的力量,但是我被卡住了。如果可能的话,我如何使用lambdas解包Args...
?
我尝试std::tie
将参数放入元组然后我尝试使用std::get<I>
,其中I
是一个非const整数,但它失败了因为get需要{{1 }}
我也尝试过初始化列表,我知道这些列表会失败但值得一试。我不想以维基百科的方式去做。我想这样做:
任何想法或我注定要失败?
constexpr
答案 0 :(得分:3)
如果我理解你想要达到的目的,你可以使用这个简单的技巧:
std::function<void(Args... A)> Unpack = [&](Args... A) {
auto l = {((std::cout << A), 0)...};
};
调用Unpack
函数对象将导致所有参数插入std::cout
(因此,打印到标准输出)。