ความแตกต่างหลัก
- Prefix (++i): เพิ่มค่า i แล้วคืนค่าใหม่ (increment แล้ว assign)
- Postfix (i++): คืนค่าเดิม แล้วค่อยเพิ่มค่า 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++ → ประเมิน x++ ได้ค่า 3 (ค่าเก่า) แล้ว x = 4
- z = ++x → เพิ่ม x เป็น 5 ก่อน แล้วคืนค่า 5 ให้ z
- พิมพ์ x=5, y=3, z=5
หมายเหตุ: เนื้อหานี้ซ้ำกับ ID 1004083494 (Increment/Decrement operators)