Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เพิ่ม ++ และลด - ตัวดำเนินการใน C++


ตัวดำเนินการเพิ่ม ++ เพิ่ม 1 ให้กับตัวถูกดำเนินการ และตัวดำเนินการลดค่า -- ลบ 1 ออกจากตัวถูกดำเนินการ ดังนั้น

<ก่อนหน้า>x =x+1; เหมือนกับ x++;

และในทำนองเดียวกัน

x =x-1; เหมือนกับ x--;

ทั้งตัวดำเนินการเพิ่มขึ้นและลดลงสามารถอยู่ข้างหน้า (นำหน้า) หรือตามหลัง (postfix) ตัวถูกดำเนินการได้

<ก่อนหน้า>x =x+1; สามารถเขียนเป็น ++x;

โปรดทราบว่าเมื่อใช้การเพิ่มขึ้นหรือลดลงเป็นส่วนหนึ่งของนิพจน์ จะมีความแตกต่างที่สำคัญในรูปแบบคำนำหน้าและคำต่อท้าย หากคุณกำลังใช้แบบฟอร์มคำนำหน้า การเพิ่มขึ้นหรือลดลงจะดำเนินการก่อนที่จะหยุดนิพจน์ และหากคุณใช้แบบฟอร์มหลังการแก้ไข การเพิ่มขึ้นหรือลดลงจะเกิดขึ้นหลังจากประเมินนิพจน์ที่สมบูรณ์แล้ว

  • ในเวอร์ชันนำหน้า (เช่น ++i) ค่าของ i จะเพิ่มขึ้น และค่าของนิพจน์คือค่าใหม่ของ i โดยพื้นฐานแล้วมันจะเพิ่มขึ้นทีละขั้นก่อนแล้วจึงกำหนดค่าให้กับนิพจน์
  • ในเวอร์ชัน postfix (เช่น i++) ค่าของ i จะเพิ่มขึ้น แต่ค่าของนิพจน์จะเป็นค่าดั้งเดิมของ i โดยพื้นฐานแล้วมันกำหนดค่าให้กับนิพจน์ก่อนแล้วจึงเพิ่มตัวแปร

ตัวอย่าง

มาดูโค้ดกันเพื่อทำความเข้าใจกันดีกว่า −

#includeใช้เนมสเปซ std;int main() { int x =3, y, z; y =x++; z =++x; ศาล < 

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์แก่เรา -

5, 3, 5

ทำไมถึงเป็นเช่นนี้? มาดูรายละเอียดกัน −

  • เริ่มต้น x ถึง 3
  • กำหนดค่า y ที่เราได้รับโดยการประเมินนิพจน์ x++ กล่าวคือ ค่าของ x ก่อนการเพิ่มขึ้นแล้วเพิ่มขึ้น x
  • เพิ่ม x จากนั้นกำหนดค่า z ที่เราได้รับโดยการประเมินนิพจน์ ++x นั่นคือ ค่าของ x หลังจากการเพิ่มขึ้น
  • พิมพ์ค่าเหล่านี้