cpp-03-05 - عملگر های انتسابی

بازدید : 25

1

اشتراک

cpp-03-05 - عملگر های انتسابی

توضیحات :

🔹 عملگر انتساب چیست؟

در زبان C++ وقتی یک مساوی (=) می‌گذاریم، مقدار سمت راست داخل متغیر سمت چپ ذخیره می‌شود.
مثال:

a = 9;

این انتصاب است، نه مقایسه.
برای مقایسه باید از == استفاده کنیم:

a == 9

چون اگر یک مساوی بگذاریم، برنامه مقدار را ذخیره می‌کند؛ اما دو مساوی سؤال می‌پرسد که «آیا این دو مقدار برابرند؟».


🔹 عملگرهای انتساب ترکیبی (Assignment Operators)

این عملگرها نوشتن کد را کوتاه‌تر و خواناتر می‌کنند:

عملگرمعادل کاملتوضیح
+=a = a + x;اضافه کردن مقدار به خود متغیر
-=a = a - x;کم کردن مقدار از خود متغیر
*=a = a * x;ضرب مقدار در خود متغیر
/=a = a / x;تقسیم مقدار متغیر
%=a = a % x;گرفتن باقیمانده تقسیم

این عملگرها معمولاً روی همان متغیر اعمال می‌شوند، نه روی متغیرهای دیگر.
مثلاً این کار معمول نیست:

b += a;

مگر اینکه دقیقاً قصد داشته باشیم مقدار b را تغییر دهیم.


🔹 آیا ++ و -- عملگر انتساب‌اند؟

بعضی اساتید می‌گویند بله، چون:

a++ یعنی a = a + 1 a-- یعنی a = a - 1

اما به‌صورت عمومی این‌ها را عملگرهای افزایش و کاهش می‌نامند چون یک عملیات ریاضی انجام می‌دهند.


🔹 مقداردهی اولیه (Initialization) — یکی از مهم‌ترین نکات

هر متغیر در C++ که مقدار اولیه نگیرد، داخلش مقدار تصادفی حافظه قرار دارد.
مثال اشتباه:

int b; b++; // نمی‌دانیم b چه مقداری دارد!

بنابراین بهترین کار این است که همیشه متغیرها را مقدار اولیه بدهیم:

  • برای عددها → مقدار صفر

    int a = 0; float f = 0.0f; double d = 0.0;
  • برای رشته‌ها → رشته خالی

    string s = "";

این کار هم جلوی خطاهای عجیب را می‌گیرد، هم برنامه را قابل‌پیگیری و مطمئن‌تر می‌کند.


🔹 چرا مقداردهی اولیه مهم است؟

اگر یک متغیر مقداردهی نشده را افزایش دهید، ممکن است خروجی مثل:

۲ میلیارد و...!

به‌دست بیاید.
اما اگر مقدار اولیه صفر دهید:

0 → 1

و سریع متوجه اشتباه می‌شوید.


🔹 نکته‌ای درباره مدیریت حافظه

در C و C++ مدیریت حافظه بیشتر بر عهده برنامه‌نویس است.
در بسیاری زبان‌ها مانند C# یا Java بخشی به نام Garbage Collector متغیرهای استفاده‌نشده را پاک می‌کند.
ولی در ++C معمولاً خود برنامه‌نویس مسئول پاک‌سازی حافظه است (جز برخی شبیه‌سازی‌ها).


✔ جمع‌بندی نهایی

  • = = انتساب

  • == = مقایسه

  • +=، -=، *=، /=، %= → نسخه کوتاه‌شده عملیات روی خود متغیر

  • ++ و -- → افزایش/کاهش یک‌واحدی

  • همیشه متغیرها را مقداردهی اولیه کنید (صفر یا رشته خالی)

  • مقداردهی اولیه جلوی خطا و رفتارهای غیرمنتظره را می‌گیرد.

لطفا برای گذاشتن نظرات خود وارد شوید

نظرات شما عزیزان