我不知道这段代码发生了什么。
SimpleFunction(1,2,3)等于
1&&(2&&3) //1
1||(2||3) //1
SimpleFunction(1)等于
1&&Something //1
1||Something //1
SimpleFunction()等于
voidvalue (&&) //1
voidvalue (||) //0
什么是“某事?”
SimpleFunction(void) 中发生了什么?
一元折叠中的逻辑运算符有什么特别之处吗?
#include<iostream>
using namespace std;
template <typename ...Ts>
void SimpleFunction(Ts ... ts)
{
cout<<(ts && ...)<<endl;
cout<<(ts || ...)<<endl;
}
int main()
{
SimpleFunction(); // 1, 0
cout<<endl;
SimpleFunction(1); // 1, 1
cout<<endl;
SimpleFunction(1,2,3); // 1, 1
cout<<endl;
return 0;
}