邏輯 AND 運算子: & &
expression && expression
備註
邏輯 AND 運算子 (& &) 會傳回布林值 ,則為 true 如果這兩個運算元都是 ,則為 true ,並傳回 ,則為 false 否則。這些運算元可以隱含轉換可以在此輸入bool之前的評估,而結果是屬於型別bool。邏輯 AND 運算已經從左到右順序關聯性。
邏輯 AND 運算子的運算元不一定要是相同的型別,但它們必須是整數或指標型別。運算元都是常關聯式或相等運算式。
第一個運算元完全評估,所有的副作用完成後再繼續執行邏輯 AND 運算式的評估結果。
只有當第一個運算元評估為 true (非零),會評估第二個運算元。當邏輯 AND 運算式為 false,這項評估可消除不必要的第二個運算元的評估。您可以使用這個對話方塊最少運算評估,以防止 null 指標取值,,如下列範例所示:
char *pch = 0;
...
(pch) && (*pch = 'a');
如果pch是空值 (0),永遠不會評估運算式的右邊。因此,透過 null 指標的指派是不可能的。
運算子關鍵字 & &
和 運算子是對等的文字 & &。有兩種方法來存取和在程式中的運算子: 包含標頭檔iso646.h,以編譯或 /Za (停用語言擴充功能) 編譯器選項。
範例
// expre_Logical_AND_Operator.cpp
// compile with: /EHsc
// Demonstrate logical AND
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 10, c = 15;
cout << boolalpha
<< "The true expression "
<< "a < b && b < c yields "
<< (a < b && b < c) << endl
<< "The false expression "
<< "a > b && b < c yields "
<< (a > b && b < c) << endl;
}