邏輯 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;
}