位运算符作用于位,逻辑运算符评估布尔表达式。只要表达式返回bool
,为什么不使用位运算符代替逻辑运算符呢?
在这个例子中,我使用位运算符而不是逻辑运算符:
#include <iostream>
int main(){
int age;
std::cin >> age;
if( (age < 0) | (age > 100) ) // eg: -50: 1 | 0 = 1
std::cout << "Invalid age!" << std::endl;
// if( (age < 0) || (age > 100) )
// std::cout << "Invalid age!" << std::endl;
return 0;
}