1.通过折叠表达式可以更为轻松的判断所有表达式是否都为true,或者部分为true
#include <iostream>
using namespace std;
template<typename... Args>
bool allTrue(Args... args)
{
return (... && args);
}
template<typename... Args>
bool anyTrue(Args... args)
{
return (... || args);
}
int main()
{
cout << boolalpha << allTrue(true, false) << endl; //输出:false
cout << boolalpha << allTrue(true, 1==1, 5>0) << endl; //输出:true
cout << boolalpha << allTrue() << endl; //输出:true
cout << boolalpha << anyTrue(false, 1==1 ) << endl; //输出:true
cout << boolalpha << anyTrue() << endl;