【发布时间】:2019-02-01 17:46:13
【问题描述】:
假设我有一系列元组,例如来自 zip 功能。在该范围内运行的函数是否必须始终是一元的,或者是否存在一些将元组解包到函数参数中的转换。基本上,我想做以下事情:
auto r1 = {1, 2, 3, 4};
auto r2 = {'a', 'b', 'c', 'd'};
auto chars = view::zip(r1, r2) | view::transform([](int a, char x) { return x; });
而不是显式使用 std::tie 或 std::apply。
【问题讨论】:
-
r1和r2不是元组。它们分别是std::initializer_list<int>和std::initializer_list<char>。 -
@NathanOliver 但我相信 view::zip(r1, r2) 是 std::tuple
的范围