انتساب افزوده Augmented Assignment
انتساب افزوده یا Augmented Assignment چیست؟
انتساب افزوده (Augmented Assignment) نوعی عملگر انتساب است که در برخی از زبانهای برنامهنویسی برای سادهسازی گونهی خاصی از تخصیص مقادیر به کار میرود. به عبارت بهتر این نوع عملگر معادل با انتسابی است که در آن مقدار تخصیص یافته به متغیر از یک عملگر حاصل میشود و یکی از عملوندهای این عملگر نیز همان متغیر است. به این عملگر، انتساب مرکب (Compound Assignment) نیز گفته میشود.
به عنوان نمونه در عبارت x += 2 از عملگر انتساب افزوده += استفاده شده است. این عبارت دقیقا از نظر حاصل معادل با عبارت گسترده x = x + 2 میباشد. به بیان دیگر در انتساب افزوده قرار است به صورت درجا عملی انجام شود که یکی از عملوندهایش یک متغیر است و حاصل آن نیز به همان متغیر تخصیص داده میشود.
در زبانهای برنامهنویسی که از این نوع انتساب پشتیبانی میشود برای اغلب عملگرهای دودویی نظیر عملگرهای حسابی (انتساب افزوده برای جمع +=، برای تفریق -=، برای ضرب *=، برای تقسیم /=)، عملگرهای شیفت بیتی (انتساب افزوده برای شیفت به چپ <<= و برای شیفت به راست >>=) و … معادل انتساب افزوده وجود دارد.
علاوه بر مزیت سادگی بیشتر در استفاده از انتساب افزوده، هنگامی که از معادل گسترده استفاده میشود در واقع دو مرتبه به مکان متغیر مراجعه میشود؛ یک مرتبه برای خواندن مقدار متغیر و استفاده از آن به عنوان عملوند و بار دوم برای تخصیص مقدار جدید به همان متغیر. به بیان دیگر در چنین حالتی متغیر باید دو بار ارزیابی (Evaluate) شود در حالی که هنگام استفاده از انتساب افزوده متغیر تنها یک مرتبه ارزیابی میشود و در صورت وجود معادل مربوطه در کد ماشین، این عمل به صورت یکجا صورت میگیرد.
انتساب افزوده در بسیاری از زبانها از جمله سی (C)، سی پلاس پلاس (C++)، سی شارپ (C#)، ویژوال بیسیک (Visual Basic)، جاوا (Java)، جاوا اسکریپت (JavaScript)، پی اچ پی (PHP)، پایتون (Python) و … پشتیبانی میشود.
پیوندهای پیشنهادی تک دیک