Bagikan melalui


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