and并且&&在C ++中在功能上相同。在and和or运营商是真正有效的C ++和语言标准的一部分。为了用具体示例详细说明其他答案,除了“可读性”之外,还有另一个原因要优先and于&&。当逻辑“与”的意思是明确地拼写“与”时,就消除了细微错误的可能性。考虑一下:int x = 3;int y = 4;// Explicitly use "and"if (x and y) { cout << "and: x and y are both non-zero values" << endl;}// Using "&&"if (x && y) { cout << "&&: x and y are both non-zero values" << endl;}// Oops! I meant to type "&&"!if (x & y) { cout << "&: x and y are both non-zero values" << endl;}else { cout << "How did I get here?" << endl;}所有这三个if语句都会编译,但是最后一个则意味着完全不同且意想不到的东西!如果您总是在使用and逻辑AND时使用,则绝不会意外输入单个“&”并使代码成功编译并以神秘的结果运行。另一个好的练习:尝试不小心遗漏“ and”字符,然后看看会发生什么。;)