Assignment Operators

🔹 عملگر اصلی =

عملگر ساده‌ی انتساب:

int x = 10; // مقدار 10 به x داده می‌شود

🔹 عملگرهای ترکیبی

این عملگرها محاسبه و انتساب را در یک مرحله انجام می‌دهند.

عملگرمثالمعادل طولانی
+=x += 5x = x + 5
-=x -= 3x = x - 3
*=x *= 4x = x * 4
/=x /= 2x = x / 2
%=x %= 3x = x % 3
&=x &= yx = x & y (AND بیتی)
`=``x
^=x ^= yx = x ^ y (XOR بیتی)
<<=x <<= 1x = x << 1 (شیفت چپ)
>>=x >>= 1x = x >> 1 (شیفت راست)

🔹 مثال کامل

#include <iostream> using namespace std; int main() { int x = 10; x += 5; // x = 15 x -= 3; // x = 12 x *= 2; // x = 24 x /= 4; // x = 6 x %= 4; // x = 2 int y = 3; x &= y; // x = x & y -> 2 & 3 = 2 x |= 1; // x = x | 1 -> 2 | 1 = 3 x ^= 2; // x = x ^ 2 -> 3 ^ 2 = 1 x <<= 2; // x = x << 2 -> 1 << 2 = 4 x >>= 1; // x = x >> 1 -> 4 >> 1 = 2 cout << "Final x = " << x << endl; return 0; }

📌 خروجی:

Final x = 2

✅ نکات مهم

  • عملگرهای ترکیبی باعث کد کوتاه‌تر و خواناتر می‌شوند.

  • برای عملیات بیتی (&=, |=, ^=, <<=, >>=) ابتدا مقدار محاسبه شده و سپس به همان متغیر نسبت داده می‌شود.

  • نوع داده (int, float, …) باید با نوع عملیاتی که انجام می‌دهید سازگار باشد.

خلاصه

  • = برای مقداردهی اولیه.

  • +=, -=, *=, /=, %= برای عملیات ریاضی همراه با انتساب.

  • &=, |=, ^=, <<=, >>= برای عملیات بیتی همراه با انتساب.

  • استفاده از این عملگرها باعث سادگی و سرعت بیشتر کدنویسی در C++ می‌شود.