Operator menyusun nilai menjadi ekspresi: aritmetika, perbandingan, logika, bitwise, hingga ternary. Section ini membahas perilaku tiap operator, precedence yang menentukan urutan evaluasi, dan cast eksplisit yang aman dipakai di kode modern.
Gunakan operator +, -, *, /, dan % dengan benar: perbedaan pembagian integer dan floating-point, sisa bagi, serta unary minus.
Buka → # Operator PenugasanSimpan nilai ke variabel dengan =, ringkas operasi berulang dengan compound assignment, dan pahami bahwa penugasan juga menghasilkan nilai.
Buka → # Operator PerbandinganBandingkan dua nilai dengan ==, !=, <, >, <=, >= yang menghasilkan bool; kenali jebakan perbandingan floating-point dan operator spaceship <=>.
Buka → # Operator Three-Way ComparisonTulis operator<=> kustom saat = default tidak mencukupi: pilih kategori urutan yang tepat, atur urutan member, dan lengkapi == agar enam operator perbandingan tersedia.
Buka → # Operator LogikaGabungkan nilai bool dengan &&, ||, dan !; pahami short-circuit evaluation yang melewati sisi kanan ekspresi, serta urutan kekuatan ketiganya.
Buka → # Operator Increment dan DecrementNaikkan dan turunkan nilai satu langkah dengan ++ dan --; pahami perbedaan prefix dan postfix serta kapan masing-masing dipakai.
Buka → # Operator BitwiseBekerja di level bit dengan &, |, ^, ~, <<, dan >>: logika per bit, geser sebagai kali/bagi pangkat dua, serta pola set, check, dan clear bit.
Buka → # Operator TernaryPilih salah satu dari dua nilai berdasarkan kondisi dengan operator ternary ?: dan pahami aturan tipe kedua cabangnya.
Buka → # Operator ScopeGunakan operator scope resolution :: untuk menunjuk nama global, nama namespace, dan nama class, serta atasi variabel yang saling menutupi (shadowing).
Buka → # Operator CastUbah tipe secara eksplisit dengan static_cast, dan kenali dynamic_cast, const_cast, reinterpret_cast, serta alasan C-style cast dihindari.
Buka → # Operator sizeofUkur ukuran tipe dan ekspresi dalam byte dengan operator sizeof, kenali jaminan sizeof(char) == 1, dan bandingkan dengan alignof.
Buka → # Precedence dan AssociativityPahami urutan kekuatan operator (precedence) dan arah pengelompokannya (associativity), serta bedanya dengan urutan evaluasi operand.
Buka → # Operator Overflow dan BatasanKenali batas tipe integer, perilaku wrap aritmetika unsigned yang modular, bahaya signed overflow sebagai undefined behavior, dan strategi menghitung dengan aman.
Buka →