الخميس، 26 مارس 2015

الثوابت الرقميـة:

الثوابت الرقميـة:
هـناك أيضاً بعض التقنيات في السي بلس بلس وهـي الثوابت المرقمـة .
لنفرض أنك تقوم بكتابـة كــود للتـواريخ وأنـك تــود إنشـاء سـبع متغيـرات كـل
متغير يحمل اسم يوم من أيام الأسبوع.
توفر لك لغـة السي بلس بلس آليـة مميـزة لاختصـار الكــود والوقـت والجهــد
وهــي الثوابـت الرقميــة ، سـنقوم الآن بكتابـة سـطر يحــوي ثلاثـة أيـام مـن
الأسبوع فقط.
enum Days { sat , sun , mon };
كما ترى فلقد استخدمنا الكلمة المحجوزة enum والتـي تعــني الإعـلان عــن
قائمـة ثوابت مرقمـة أما الكلمة Days فهـي المسمـى.
الآن لنفرض أننـا لـم نقـم باسـتخدام هـذه التقنيــة أو لنتسـاءل كيـف سـيقوم
المترجم بترجمـة السطر السابق ، أنظر إلى الأسطر التالية:
const int sat = 0;
const int san = 1;
const int mon = 2;
كما ترى يبدأ المترجم العـد من الصفر ، وأنت لا تريـد فعـل ذلـك لأنــه لا وجـود
لتاريخ 0 ، لذلك بإمكانك إعادة كتابة السطر السابق كما يلي حتى تحـل هـذه
الإشكالية:
enum Days { sat = 1 , sun , mon } ;
سيقوم البرنامج الآن بالعـد من الرقم 1 وليس الصفر.
لم يذكر هذا الكتاب الكثير من الأمثلة حـول الثوابـت المرقمــة ولـيس السـبب
في قلة استخدامها بل إلى تقصير من نفسي وأعتذر عـن هذا.

ليست هناك تعليقات:

إرسال تعليق