由于“&”的错误输入,我在上个月遇到了一系列错误而不是“&&”在C.
我最近的一个很简单 - 就是我写的
value = data && 0x0123
在我休息后看到该值为0或1时很明显,但是我想要一种方法来捕捉这个,类似于编码
if (1 == END) ...
抓住误导=
和==
。
有什么想法吗?
答案 0 :(得分:8)
在C ++中,and
和bitand
分别是&&
和&
的替代品(您可以在cppreference上找到所有替代品)。
#include <iostream>
int main()
{
std::cout << std::boolalpha << (42 and 0x0123) << std::endl;
std::cout << std::boolalpha << (42 bitand 0x0123) << std::endl;
return 0;
}
Live on Coliru (感谢Fred Larson对std :: boolalpha的建议)
C99在iso646.h中将这些定义为宏(Credit to Shafik Yaghmour,more details in one of his answers)