تفاوت =، += و -= در C++

تفاوت عملگرهای =، += و -= در زبان C++

در زبان برنامه‌نویسی C++، عملگرهای انتساب نقش حیاتی در مدیریت مقادیر متغیرها دارند. سه عملگر پرکاربرد =، += و -= هر کدام رفتار متمایزی دارند که درک تفاوت‌های آن‌ها برای نوشتن کد بهینه ضروری است.


عملگر انتساب ساده (=)

این عملگر پایه‌ترین نوع انتساب در C++ است که مقدار سمت راست را به متغیر سمت چپ اختصاص می‌دهد:

مثال تفسیر
int x = 10; مقدار 10 را به x اختصاص می‌دهد
x = y + 5; حاصل جمع y و 5 را در x قرار می‌دهد
نکته: عملگر = مقدار قبلی متغیر را کاملاً جایگزین می‌کند و هیچ ارتباطی با مقدار قبلی ندارد.

عملگر انتساب جمع (+=)

این عملگر ترکیبی، مقدار متغیر را با مقدار جدید جمع کرده و نتیجه را در همان متغیر ذخیره می‌کند:

  • کد x += 3 معادل است با x = x + 3
  • برای رشته‌ها می‌تواند عمل الحاق (Concatenation) انجام دهد
  • کارایی بهتری نسبت به فرم گسترده دارد (بهینه‌تر است)
مثال کاربردی:
int score = 100;
score += 20; // مقدار score می‌شود 120

عملگر انتساب تفریق (-=)

عملگری مکانیکی برای کاهش مقدار متغیرها که معمولاً در حلقه‌ها و محاسبات ریاضی کاربرد دارد:

  1. کد y -= 5 برابر است با y = y - 5
  2. اغلب برای کاهش شمارنده‌ها استفاده می‌شود
  3. در برنامه‌نویسی بازی‌ها برای کاهش امتیاز یا انرژی کاربرد دارد
عملگر معادل مثال
= انتساب ساده x = 10
+= x = x + y x += y
-= x = x - y x -= y

برای مطالعه عمیق‌تر درباره عملگرهای انتساب در C++ می‌توانید اینجا را دنبال نمایید. این منبع به تفصیل به بررسی تمام عملگرهای انتساب و کاربردهای پیشرفته آن‌ها پرداخته است.


در انتخاب بین این عملگرها باید به دو نکته اساسی توجه کرد:

  • خوانایی کد: عملگرهای ترکیبی مانند += کد را مختصرتر و خواناتر می‌کنند
  • کارایی: در برخی کامپایلرها، نسخه ترکیبی عملکرد بهینه‌تری دارد