cpp-03-05 - عملگر های انتسابی
cpp-03-05 - عملگر های انتسابی
توضیحات :
🔹 عملگر انتساب چیست؟
در زبان C++ وقتی یک مساوی (=) میگذاریم، مقدار سمت راست داخل متغیر سمت چپ ذخیره میشود.
مثال:
این انتصاب است، نه مقایسه.
برای مقایسه باید از == استفاده کنیم:
چون اگر یک مساوی بگذاریم، برنامه مقدار را ذخیره میکند؛ اما دو مساوی سؤال میپرسد که «آیا این دو مقدار برابرند؟».
🔹 عملگرهای انتساب ترکیبی (Assignment Operators)
این عملگرها نوشتن کد را کوتاهتر و خواناتر میکنند:
| عملگر | معادل کامل | توضیح |
|---|---|---|
+= | a = a + x; | اضافه کردن مقدار به خود متغیر |
-= | a = a - x; | کم کردن مقدار از خود متغیر |
*= | a = a * x; | ضرب مقدار در خود متغیر |
/= | a = a / x; | تقسیم مقدار متغیر |
%= | a = a % x; | گرفتن باقیمانده تقسیم |
این عملگرها معمولاً روی همان متغیر اعمال میشوند، نه روی متغیرهای دیگر.
مثلاً این کار معمول نیست:
مگر اینکه دقیقاً قصد داشته باشیم مقدار b را تغییر دهیم.
🔹 آیا ++ و -- عملگر انتساباند؟
بعضی اساتید میگویند بله، چون:
اما بهصورت عمومی اینها را عملگرهای افزایش و کاهش مینامند چون یک عملیات ریاضی انجام میدهند.
🔹 مقداردهی اولیه (Initialization) — یکی از مهمترین نکات
هر متغیر در C++ که مقدار اولیه نگیرد، داخلش مقدار تصادفی حافظه قرار دارد.
مثال اشتباه:
بنابراین بهترین کار این است که همیشه متغیرها را مقدار اولیه بدهیم:
-
برای عددها → مقدار صفر
-
برای رشتهها → رشته خالی
این کار هم جلوی خطاهای عجیب را میگیرد، هم برنامه را قابلپیگیری و مطمئنتر میکند.
🔹 چرا مقداردهی اولیه مهم است؟
اگر یک متغیر مقداردهی نشده را افزایش دهید، ممکن است خروجی مثل:
بهدست بیاید.
اما اگر مقدار اولیه صفر دهید:
و سریع متوجه اشتباه میشوید.
🔹 نکتهای درباره مدیریت حافظه
در C و C++ مدیریت حافظه بیشتر بر عهده برنامهنویس است.
در بسیاری زبانها مانند C# یا Java بخشی به نام Garbage Collector متغیرهای استفادهنشده را پاک میکند.
ولی در ++C معمولاً خود برنامهنویس مسئول پاکسازی حافظه است (جز برخی شبیهسازیها).
✔ جمعبندی نهایی
-
== انتساب -
=== مقایسه -
+=،-=،*=،/=،%=→ نسخه کوتاهشده عملیات روی خود متغیر -
++و--→ افزایش/کاهش یکواحدی -
همیشه متغیرها را مقداردهی اولیه کنید (صفر یا رشته خالی)
-
مقداردهی اولیه جلوی خطا و رفتارهای غیرمنتظره را میگیرد.
لطفا برای گذاشتن نظرات خود وارد شوید