在cppreference上,我看到折叠表达式有四种类型,一元右、一元左、二元右和二元左。这个折叠表达式的类型是什么?我很难理解为什么它是有效的。
template <typename Res, typename... Ts>
vector<Res> to_vector(Ts&&... ts) {
vector<Res> vec;
(vec.push_back(ts) ...); // *
return vec;
}
* 行中的“pack”、“op”和“init”的值是多少,如果有的话?
这个例子来自 Bjarne Stroustrup 的A Tour of C++ book 的第 244 页,并且似乎在例子中忘记了一个逗号,因此我很困惑。