أريد شرح لخاصية إعادة الاستخدام Reusability في السي++؟
كيفية استخدامها؟؟؟
هل يمكن استخدامها في الكونسول أبليكيشن؟؟؟؟
سؤال أخير:
ماهو الفرق بين المؤشرات والإشارات؟؟؟؟؟؟؟؟؟
HELP!!!!!!!!
أريد شرح لخاصية إعادة الاستخدام Reusability في السي++؟
كيفية استخدامها؟؟؟
هل يمكن استخدامها في الكونسول أبليكيشن؟؟؟؟
سؤال أخير:
ماهو الفرق بين المؤشرات والإشارات؟؟؟؟؟؟؟؟؟
HELP!!!!!!!!
السلام عليكم
بداية لغة السي بلس بلس هي الفئات + لغة سي الصرفة...فنحن في أغلب الاحيان عندما نكتب كود لسي بلس بلس لانكتب باستخدام الفئات وميزات البرمجة الكائنية فنحن في الواقع نكتب للغة سي فقط دون أن نشعر ( مع بعض التغييرات الطفيفة)....
وميزة اعادة الاستخدام هي احدى ميزات وخصائص لغات البرمجة كائنية المنحى الحقيقة
وتتمثل في " استخدام الفئات التي عرفناها من قبل مرة أخرى في برامجنا اللاحقة لتختصر لنا الوقت والزمن " واعادة الاستعمال يكون بطريقتين ... اما الاستعمال المباشر بتضمين الفئة في المشروع واستخدامها ...
أو وراثة فئة جديدة كليا منها تحمل كل أو بعض صفات القئة الاولى (الاب) .... هذا مايدعى باعادة الاستعمال في السي بلس بلس....
وبالطبع يمكنك استخدامها في كل برامج السي بلس بلس ... سواء كونسول او win32 أو MFC او غيرها فهي عبارة عن " مفهوم " وليس كلمة اساسية أو دالة أو ماشابه ذلك.
...........................................................................................
أما بالنسبة للمؤشرات والاشارات وتدعى الثانية في أغلب الكتب بالاشارات المرجعية
" المراجع " فالفرق بينهما قد يكون غامضا بالنسبة للمبتدئين ... نظرا لتشابههما الكبير واستخداماتهما المتشابكة
وسأحاول شرح الفكرة
كل المتغيرات في جميع لغات البرمجة تحتمل نوع من نوعين فقط لاثالث لهما ..
1) متغير يحمل قيمة int x=10
2) متغير يحمل قيمة لعنوان في الذاكرة x=0x12004f3e
وهذا العنوان في الذاكرة يؤشرالى قيمة معينة.... وهي قيمةمن النوع الاول !!
أرجو أن تكون قد فهمت قصدي .
الحالة الاولى تسمى بالنوع القيمي والنوع الثاني يسمى بالمؤشر الى الذاكرة
وهي المؤشرات ... يعني متغيرات عادية لكن تخزن فيها عناوين للقيم بدل القيم نفسها .
مثال لمؤشر :
int x=10 int * g=& x
المتغير g هنا يشير الى عنوان في الذاكرة هذا العنوان في داخله توجد القيمة 10
فنستعمل التدوين * في المؤشرات ....
المؤشرات تتعامل على مستوى العناوين وليس القيم يعني :
int x x=10 int * y يجب ان تكون y= & x وليس y= x
............................
هذا بالنسبة للمؤشرات اما بالنسبة للاشارات المرجعية فهي يمكن أن تحمل قيم لعناوين أيضا لكنها متغيرات عادية أي أصلا نعامل على مستوى القيم وليس العناوين
int x =10
ولكن لجعلها تحمل عنوانا نستخدم التدوين & بدلا من * في المؤشرات ...
int x =10 int & y= x
عندها يكون عنوان x و y متساويين اي يشيران لنفس المكان في الذاكرة ......
..........................
لاأعتقد أن هذا الشرح يكفي ولو ل 40 % عن الموضوع .....
لأنه لكي تفهم الفرق بصورة صحيحة يجب أن تفهم المؤشرات جيدا والاشارات المرجعية أيضا وذلك لا يمكن ان يتم في 10 أسطر ... أغلب كتب البرمجة والمبرمجين يجمعون على أن المؤشرات هي أعقد ما في لغة السي ....
وهي السبب في خروج ال Java بململم نفاياتها لتعالج مشاكل تسرب الذاكرة بسبب المؤشرات . وهي السبب أيضا في بزوغ CLR الخاص بمنصة الدوت نت الذي هو عبارة عن
ململم نفايات الدوت نت . كل هذا بسبب المؤشرات ... وقد ابتعد الكثيرين من مبرمجي السي عنهابسبب المؤشرات وبعض تداوينها الغامضة ... لكنها سهلة لمن سهلها الله عليه.....
وسيكون لنا جلسة أطول باذن الله لشرح المؤشرات قريبا في المنتدى.
السلام عليكم و رحمة الله و البركات
بشأن المؤشرات فاني ان شاء الله خلال اليومين القادمين سأبدأ بوضع دروس عنها
آمل المشاركة و التشجيع
مدونتي
هذا الموضوع مغلق.