[英]Iterate over tuple elements with std::apply
我想要一種方法將一個函數應用於給定元組的每個元素,我想出了一個解決方案,在下面的例子中進行了演示。
int main()
{
std::apply([](auto&&... xs)
{
[](...){}(([](auto&& x){ std::cout << x << "\n"; }(std::forward<decltype(xs)>(xs)), false)...);
}, std::make_tuple(1, 2.f, 3.0));
}
這似乎工作正常,除了元組元素似乎以反轉順序處理,導致以下輸出:
3
2
1
誰能告訴我為什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.