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 Kenaikan dan Keputusan Postfix:
Sintaks
postfix-expression ++
postfix-expression --
Keterangan
C++ menyediakan operator prefiks dan kenaikan postfix dan penurunan; bagian ini hanya menjelaskan kenaikan postfix dan operator penurunan. (Untuk informasi selengkapnya, lihat Prefiks Kenaikan dan Pengurangan Operator.) Perbedaan antara keduanya adalah bahwa dalam notasi postfix, operator muncul setelah postfix-expression, sedangkan dalam notasi awalan, operator muncul sebelum ekspresi. Contoh berikut menunjukkan operator postfix-increment:
i++;
Efek menerapkan operator kenaikan postfix (++
) adalah bahwa nilai operand ditingkatkan oleh satu unit dari jenis yang sesuai. Demikian pula, efek menerapkan operator penurunan pascafiks (--
) adalah bahwa nilai operand dikurangi oleh satu unit dari jenis yang sesuai.
Penting untuk dicatat bahwa kenaikan postfix atau ekspresi penurunan dievaluasi ke nilai ekspresi sebelum penerapan operator masing-masing. Operasi kenaikan atau penurunan terjadi setelah operand dievaluasi. Masalah ini muncul hanya ketika operasi kenaikan atau penurunan postfix terjadi dalam konteks ekspresi yang lebih besar.
Ketika operator postfix diterapkan ke argumen fungsi, nilai argumen tidak dijamin akan ditambahkan atau diturunkan sebelum diteruskan ke fungsi. Lihat bagian 1.9.17 di standar C++ untuk informasi selengkapnya.
Menerapkan operator kenaikan postfix ke penunjuk ke array objek jenis long
benar-benar menambahkan empat ke representasi internal pointer. Perilaku ini menyebabkan penunjuk, yang sebelumnya merujuk ke elemen nth dari array, untuk merujuk ke elemen (n+1)th.
Pengoperasian ke kenaikan postfix dan operator penurunan pascafiks harus dapat dimodifikasi (bukan const
) l-nilai jenis aritmatika atau pointer. Jenis hasilnya sama dengan ekspresi postfix, tetapi bukan lagi nilai l.
Visual Studio 2017 versi 15.3 dan yang lebih baru (tersedia dalam /std:c++17
mode dan yang lebih baru): Operan kenaikan postfix atau operator penurunan mungkin bukan tipe bool
.
Kode berikut mengilustrasikan operator kenaikan postfix:
// expre_Postfix_Increment_and_Decrement_Operators.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
int i = 10;
cout << i++ << endl;
cout << i << endl;
}
Operasi postincrement dan postdecrement pada jenis enumerasi tidak didukung:
enum Compass { North, South, East, West );
Compass myCompass;
for( myCompass = North; myCompass != West; myCompass++ ) // Error
Lihat juga
Ekspresi Postfix
Operator, Prioritas, dan Asosiatif Bawaan C++
C Postfix Increment dan Decrement Operators