ما هو #define التوجيه في C ++

Ma Hw Define Altwjyh Fy C



تشير المعالجة المسبقة في C ++ إلى المرحلة الأولية من تجميع البرنامج أو ترجمته حيث يتم تعديل ملف البرنامج المصدر بناءً على توجيهات المعالج المسبق. هذه التوجيهات ، التي دلت عليها # رمز يتم تنفيذه بواسطة المعالج المسبق ويؤثر على كود المصدر قبل تنفيذ البرنامج الرئيسي.

يتم الإشارة إلى توجيهات المعالج المسبق في C ++ بواسطة ملف # (تجزئة) رمز في بداية البيان. تتضمن توجيهات المعالج المسبق الشائعة في C ++ تضمين الملف و وحدات الماكرو تعريف. عادةً ما يتم وضع هذه التوجيهات خارج الدالة main () في الجزء العلوي من برنامج C ++. أثناء المعالجة المسبقة ، ملف وسيط بامتداد .أنا تم إنشاء التمديد.

#define التوجيه في C ++

في لغة C ++ ، يعد التوجيه #define توجيهًا للمعالج المسبق يستخدم لتعريف الثوابت أو وحدات الماكرو. يسمح لك بتعريف الأسماء أو القيم الرمزية التي يتم استبدالها في جميع أنحاء الكود قبل أن تتم عملية التجميع الفعلية.







فيما يلي بعض الملامح الرئيسية للمعالج المسبق #define



  • في C ++ ، يتم استخدام توجيه المعالج المسبق # تعريف لتعريف وحدات الماكرو.
  • تسمى وحدات الماكرو في C ++ ثوابت أو تعبيرات تم تعريفها باستخدام التوجيه #define.
  • #define التوجيهات يشار إليها أيضًا باسم توجيهات الماكرو.
  • عند مواجهة التوجيه #define في برنامج C ++ ، يتم استبدال اسم الماكرو المحدد بقيمة ثابتة أو تعبير أثناء مرحلة الترجمة الأولية.

بناء جملة #define التوجيه

بناء الجملة لاستخدام التوجيه #define كما يلي:



#define قيمة المعرف

حيث يكون المعرف هو اسم الثابت أو الماكرو الذي يتم تعريفه ، والقيمة هي القيمة التي يجب استبدالها بها عند تجميع الكود.





مثال على #define التوجيه

فيما يلي مثال يشرح كيف يمكن استخدام التوجيه #define في كود C ++:

# تضمين

#define PI 3.14159

#define SQUARE (x) ((x) * (x))

int رئيسي ( ) {

مزدوج نصف القطر = 5.0 ؛

مزدوج منطقة = باي * مربع ( نصف القطر ) ؛

الأمراض المنقولة جنسيا :: كوت << 'منطقة: ' << منطقة << الأمراض المنقولة جنسيا :: endl ؛

يعود 0 ؛

}

في هذا المثال ، نحدد ثابتين باستخدام التوجيه #define: PI ، الذي يمثل الثابت الرياضي pi ، و SQUARE ، وهو ماكرو يحسب مربع قيمة معينة. ثم نستخدم هذه الثوابت في الكود لحساب مساحة الدائرة بنصف قطر معين.



الفرق بين #define و const

أحد الأسئلة الشائعة التي تظهر عند مناقشة التوجيه #define هو كيف يختلف عن استخدام متغيرات const في C ++. بينما يسمح لك كلا الأسلوبين بتحديد الثوابت التي يمكن استخدامها في التعليمات البرمجية الخاصة بك ، إلا أن هناك بعض الاختلافات الرئيسية بينهما.

أحد الاختلافات الرئيسية بين #يُعرِّف و مقدار ثابت هو أن #define هو توجيه للمعالج المسبق ، بينما const كلمة رئيسية هي جزء من لغة C ++ نفسها. هذا يعني أن الثوابت المعرفة باستخدام #define يتم استبدالها بقيمها قبل ترجمة الكود ، بينما يتم التعامل مع متغيرات const بواسطة المترجم نفسه.

هناك اختلاف رئيسي آخر بين #define و const وهو أن متغيرات const لها نوع معين ، بينما الثوابت المعرفة باستخدام #define لا تفعل ذلك. هذا يعني أنه يمكنك استخدام متغيرات const في الأماكن التي تتطلب نوعًا معينًا ، بينما قد لا تعمل الثوابت المعرفة باستخدام #define دائمًا في تلك المواقف.

خاتمة

التوجيه #define هو توجيه معالج مسبق يستخدم لتعريف الثوابت أو وحدات الماكرو. يسمح لنا بتحديد الأسماء أو القيم الرمزية التي يتم استبدالها في جميع أنحاء الكود قبل حدوث عملية التجميع الفعلية. اقرأ المزيد عن #define التوجيه في C ++ في هذه المقالة.