【发布时间】:2018-04-16 14:16:26
【问题描述】:
为什么逗号分隔的一元左折叠会产生与右折叠相同的结果?
template<class ...Args>
void right_fold(Args... args){
((std::cout << args),...);
}
template<class ...Args>
void left_fold(Args... args){
(...,(std::cout << args));
}
int main()
{
right_fold(1,2,3,4);
std::cout << std::endl;
left_fold(1,2,3,4);
}
输出:
1234
1234
不应该是:
4321
1234
?
【问题讨论】:
-
简单地说,后退和评估顺序是独立的
标签: c++ c++17 fold-expression