مشابه همان منطقی که در دستور if برای محدود کردن دامنه متغیرها به کار رفت، استاندارد جدید C++ این قابلیت را به ساختار switch نیز گسترش داده است. دستور switch معمولاً برای مدیریت چندین حالت مختلف بر اساس مقدار یک متغیر استفاده میشود.
در حالت استاندارد، اگر بخواهید در داخل یکی از کیسهای switch (case) متغیری تعریف کنید، ممکن است با خطاهای مربوط به دسترسی متغیرها در کیسهای دیگر روبرو شوید. اما با استفاده از مقداردهی اولیه در switch (که مشابه الگوی if است)، شما میتوانید متغیری را دقیقاً قبل از شروع بررسی حالتها تعریف کنید. این متغیر در تمام بخشهای switch (یعنی تمام caseها و بخش default) در دسترس خواهد بود، اما نکته کلیدی این است که این متغیر با اتمام بلوک switch از حافظه پاک میشود. این ویژگی باعث میشود که کدهای شما بسیار منظمتر شده و از بروز تداخلهای احتمالی بین متغیرهای مختلف در دستورات شرطی پیچیده جلوگیری شود.
کلیدواژه ها : مقداردهی در switch-ساختار switch در C+±مدیریت دامنه متغیر در switch-آموزش دستورات کنترلی-switch statement with initializer-