พื้นฐาน
++ เพิ่ม 1 ให้ operand, -- ลด 1 จาก operand
x = x + 1; // เทียบเท่า x++; x = x - 1; // เทียบเท่า x--;
ทั้งคู่ใช้ได้ทั้ง Prefix (หน้า) และ Postfix (หลัง)
ความแตกต่างสำคัญ: Prefix vs Postfix
- Prefix (++i): เพิ่มค่าก่อน แล้วคืนค่าใหม่ (increment แล้ว assign)
- Postfix (i++): คืนค่าเดิมก่อน แล้วค่อยเพิ่ม (assign แล้ว increment)
ตัวอย่าง
#include <iostream>
using namespace std;
int main() {
int x = 3, y, z;
y = x++; // y = 3, x = 4
z = ++x; // x = 5, z = 5
cout << x << ", " << y << ", " << z;
return 0;
}
ผลลัพธ์
5, 3, 5
คำอธิบายขั้นตอน
- x = 3
- y = x++ → y ได้ค่า 3 (ค่าเก่า) แล้ว x กลายเป็น 4
- z = ++x → x กลายเป็น 5 แล้ว z ได้ค่า 5 (ค่าใหม่)
- พิมพ์: x=5, y=3, z=5