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.

# Operator Aritmetika

Gunakan operator +, -, *, /, dan % dengan benar: perbedaan pembagian integer dan floating-point, sisa bagi, serta unary minus.

Buka →
# Operator Penugasan

Simpan nilai ke variabel dengan =, ringkas operasi berulang dengan compound assignment, dan pahami bahwa penugasan juga menghasilkan nilai.

Buka →
# Operator Perbandingan

Bandingkan dua nilai dengan ==, !=, <, >, <=, >= yang menghasilkan bool; kenali jebakan perbandingan floating-point dan operator spaceship <=>.

Buka →
# Operator Three-Way Comparison

Tulis operator<=> kustom saat = default tidak mencukupi: pilih kategori urutan yang tepat, atur urutan member, dan lengkapi == agar enam operator perbandingan tersedia.

Buka →
# Operator Logika

Gabungkan nilai bool dengan &&, ||, dan !; pahami short-circuit evaluation yang melewati sisi kanan ekspresi, serta urutan kekuatan ketiganya.

Buka →
# Operator Increment dan Decrement

Naikkan dan turunkan nilai satu langkah dengan ++ dan --; pahami perbedaan prefix dan postfix serta kapan masing-masing dipakai.

Buka →
# Operator Bitwise

Bekerja di level bit dengan &, |, ^, ~, <<, dan >>: logika per bit, geser sebagai kali/bagi pangkat dua, serta pola set, check, dan clear bit.

Buka →
# Operator Ternary

Pilih salah satu dari dua nilai berdasarkan kondisi dengan operator ternary ?: dan pahami aturan tipe kedua cabangnya.

Buka →
# Operator Scope

Gunakan operator scope resolution :: untuk menunjuk nama global, nama namespace, dan nama class, serta atasi variabel yang saling menutupi (shadowing).

Buka →
# Operator Cast

Ubah tipe secara eksplisit dengan static_cast, dan kenali dynamic_cast, const_cast, reinterpret_cast, serta alasan C-style cast dihindari.

Buka →
# Operator sizeof

Ukur ukuran tipe dan ekspresi dalam byte dengan operator sizeof, kenali jaminan sizeof(char) == 1, dan bandingkan dengan alignof.

Buka →
# Precedence dan Associativity

Pahami urutan kekuatan operator (precedence) dan arah pengelompokannya (associativity), serta bedanya dengan urutan evaluasi operand.

Buka →
# Operator Overflow dan Batasan

Kenali batas tipe integer, perilaku wrap aritmetika unsigned yang modular, bahaya signed overflow sebagai undefined behavior, dan strategi menghitung dengan aman.

Buka →