Macro
الماكرو هي كتلة برمجية يحتفظ المترجم بشكلها طوال مدة الترجمة على أنها من المسلمات ...
كأن يعتبر كل حرف z يكافئ الرقم 5 مثلاً ..
نعرف الماكرو عن طريق التعليمة #define
وهناك عدة أشكال لهذه التعليمة لها فوائد كثيرة ... سنتحدث عن شكلين .. فوائدهما ومضارهما ..
وأنتظر من الخبراء تنقيح المعلومات وإفادتنا بالمزيد ...
الشكل الأول :
#define NewWord KnownWord
NewWord : هي المتحول الذي نريده أن يصبح معرفاً بالنسبة للمعالج ...
KnownWord :هي اسم تعليمة أو تابع أو حتى عدة تعليمات معاً .. ولكن يجب أن تكون معرفة عند استعمالها ..
أمثلة :
#define number int
#define loop for
#define infinite 999999
#define PI 3.14
نلاحظ أهمية هذه الطريقة بحيث أن المعالج يعمل بطريقة سلسة جداً عندما يرى الكلمة المعرفة في الماكرو فهو يستبدلها بكل أريحية دون أي اشكال
مثال بسيط شامل للشكل الأول ...
ما رأيكم أن نستخدم بدل تعليمة cout تعليمة جديدة دون أن نضطر إلى إنشاء كائن جديد مثلاً : Write
وأن نجعل البرنامج "]يكتب جملة واحدة بتعليمة من حرف واحد] !!!
#include<iostream.h>
#define Write cout
#define number int
#define loop for
#define infinite 999999
#define PI 3.14
#define M Write<<"This Is Amazing Thing!!\n";
#define endline <<endl
#define pulsplus ++
void main()
{
number x=infinite;
float y=PI;
loop(number i=0;i<y;i pulsplus)
M
Write<<"Welocme To Macro++"endline;
}لاحظ أنه يمكننا كتابة أي شيء نريده في الجزء الأيمن (المعرف بالنسبة للمعالج )
أما القسم الأيسر (الذي نريد تعريفه ) فهو يخضع لق%u

