Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Operator AND logis:
Sintaks
logical-and-expression
:
equality-expression
logical-and-expression
&&
equality-expression
Keterangan
Operator AND logis (&&
) mengembalikan true
jika kedua operand dan true
mengembalikan false
sebaliknya. Operan secara implisit dikonversi ke jenis bool
sebelum evaluasi, dan hasilnya berjenis bool
. Logis AND memiliki associativity kiri-ke-kanan.
Operan ke operator AND logis tidak perlu memiliki jenis yang sama, tetapi harus memiliki jenis boolean, integral, atau pointer. Operan umumnya adalah ekspresi relasional atau kesetaraan.
Operan pertama dievaluasi sepenuhnya dan semua efek samping selesai sebelum evaluasi ekspresi DAN logis berlanjut.
Operan kedua dievaluasi hanya jika operand pertama dievaluasi ke true
(bukan nol). Evaluasi ini menghilangkan evaluasi operan kedua yang tidak perlu ketika ekspresi DAN logis adalah false
. Anda dapat menggunakan evaluasi sirkuit pendek ini untuk mencegah dereferensi null-pointer, seperti yang ditunjukkan dalam contoh berikut:
char *pch = 0;
// ...
(pch) && (*pch = 'a');
Jika pch
null (0), sisi kanan ekspresi tidak pernah dievaluasi. Evaluasi sirkuit pendek ini membuat penugasan melalui pointer null tidak mungkin.
Kata kunci operator untuk &&
C++ menentukan and
sebagai ejaan alternatif untuk &&
. Di C, ejaan alternatif disediakan sebagai makro di <header iso646.h> . Di C++, ejaan alternatif adalah kata kunci; penggunaan <iso646.h> atau C++ setara <ciso646> tidak digunakan lagi. Di Microsoft C++, /permissive-
opsi atau /Za
pengkompilasi diperlukan untuk mengaktifkan ejaan alternatif.
Contoh
// 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;
}
Lihat juga
Operator, prioritas, dan associativitas bawaan C++
Operator logis C