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 Relasional:
Sintaks
expression < expression
expression > expression
expression <= expression
expression >= expression
Keterangan
Operator relasional biner menentukan hubungan berikut:
Kurang dari (
<
)Lebih besar dari (
>
)Kurang dari atau sama dengan (
<=
)Lebih besar dari atau sama dengan (
>=
)
Operator relasional memiliki asokiativitas kiri-ke-kanan. Kedua operan operator relasional harus dari jenis aritmatika atau pointer. Mereka menghasilkan nilai jenis bool
. Nilai yang dikembalikan adalah false
(0) jika hubungan dalam ekspresi salah; jika tidak, nilai yang dikembalikan adalah true
(1).
Contoh
// expre_Relational_Operators.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
cout << "The true expression 3 > 2 yields: "
<< (3 > 2) << endl
<< "The false expression 20 < 10 yields: "
<< (20 < 10) << endl;
}
Ekspresi dalam contoh sebelumnya harus diapit dalam tanda kurung karena operator penyisipan aliran (<<
) memiliki prioritas yang lebih tinggi daripada operator relasional. Oleh karena itu, ekspresi pertama tanpa tanda kurung akan dievaluasi sebagai:
(cout << "The true expression 3 > 2 yields: " << 3) < (2 << "\n");
Konversi aritmatika biasa yang tercakup dalam Konversi Standar diterapkan pada operan jenis aritmatika.
Membandingkan penunjuk
Ketika dua penunjuk ke objek dengan jenis yang sama dibandingkan, hasilnya ditentukan oleh lokasi objek yang ditujukan ke ruang alamat program. Penunjuk juga dapat dibandingkan dengan ekspresi konstanta yang mengevaluasi ke 0 atau ke penunjuk jenis void *
. Jika perbandingan pointer dibuat terhadap pointer jenis void *
, pointer lain secara implisit dikonversi ke jenis void *
. Kemudian perbandingan dibuat.
Dua pointer dari berbagai jenis tidak dapat dibandingkan kecuali:
Satu jenis adalah jenis kelas yang berasal dari jenis lainnya.
Setidaknya salah satu pointer dikonversi secara eksplisit (ditransmisikan) ke jenis
void *
. (Pointer lain secara implisit dikonversi ke jenisvoid *
untuk konversi.)
Dua pointer dengan jenis yang sama yang menunjuk ke objek yang sama dijamin untuk membandingkan sama. Jika dua penunjuk ke anggota nonstatis objek dibandingkan, aturan berikut berlaku:
Jika jenis kelas bukan ,
union
dan jika kedua anggota tidak dipisahkan oleh penentu akses, sepertipublic
, ,protected
atauprivate
, penunjuk ke anggota yang dinyatakan terakhir akan membandingkan lebih besar dari penunjuk dengan anggota yang dideklarasikan sebelumnya.Jika kedua anggota dipisahkan oleh penentu akses, hasilnya tidak ditentukan.
Jika jenis kelas adalah
union
, penunjuk ke anggota data yang berbeda dalam perbandingan yangunion
sama.
Jika dua pointer menunjuk ke elemen array yang sama atau ke elemen satu di luar akhir array, penunjuk ke objek dengan subskrip yang lebih tinggi membandingkan lebih tinggi. Perbandingan pointer dijamin valid hanya ketika pointer merujuk ke objek dalam array yang sama atau ke lokasi satu melewati akhir array.
Lihat juga
Ekspresi dengan Operator Biner
Operator, Prioritas, dan Asosiatif Bawaan C++
Operator Relasional dan Kesetaraan C