الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Const

مغلق
بدأه mufic_semsem في 14 أغسطس 2004 · 8 رد · 828 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سؤال هل استخدام ال function او ال pointer على انها const دى ميزة فى البرنامج ام عيب

سؤال اخر

هل استخدام اومر الدوس فى السى عيب يجب ان نتجنبة كمبرمجين و لا نلجأ الية الا فى حالة الضرورة القصوى؟

لا اله الا الله .......................................... محمد رسول الله

#2

السلام عليكم ,,

ال const وغيرها من أوامر الحصر في السي++ تستخدم لتنظيم الكود ,, تحت منهجية OOP معهرفة مسبقا ,, يعني يفترض بعد تصميم البرنامج المنطقي أن لايتم تغيير خريطة انسياب البرنامج ,, والتصميم المنطقي ,,

كتاب البرامج ينقسمون لكتاب مكتبات وكتاب أكواد يستخدمون المكتبات ,, يجب على مصمم المكتبة أن يأخذ في الاعتبار المشاكل الناتجة عن تغيير بعض المتغيرات الحساسة التي لايرغب أن يصل اليها المستخدم ,, لذا يضطر لجعلها const أو حتى Private في الفئة لمنع الوصول الكلي لها ,,

ولهذا السبب أيضا جعلت محددات الوصول في الفئة 4 ,,

لذا const ميزة فعلا وليست عيبا بالطبع ,, لأنه حتى يمكن أن ينسى المبرمج في وسط كود 10 ألف سطر أن لايغير المتغير X مثلا أبدا ,, لذا بجعله const يعطي البرنامج ERROR يتذكر منه المبرمج ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

ماذا عن استخدام اوامر الدوس على هى عيب برمجى و ضغف فى المبرمج و استخدمها عن الحاجة القسوى و لا لأ

لا اله الا الله .......................................... محمد رسول الله

#4

ماذا تقصد بأوامر الدوز ؟

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#5

اى اذا اردت ان امسح الشاشة مثلا

اكتب كدة

#include<stdlib.h>
void main()
{
  system("cls");
}

دة قصدى و سؤالى لان فى احدى الكتب لما شرحها قال عند الضرورة

لا اله الا الله .......................................... محمد رسول الله

#6

ابدا

بل هذه مساعدة من الذين وضعوا اللغة انفسهم , يعني بدل ما تفكر 3 اسابيع في عمل دالة معينة , هم ساعدوك واختصروا عليك 3 اسابيع من العمل

بالنسبة ل const فهي كما قال اخي HGB حيث يمكن من خلالها تسهيل معرفة ال BUGS

في برنامجك وحماية متغيراتك الرئيسية والمهمة

"خيركم من تعلم العلم وعلمه". ..........استغفر الله. ........ اللهم صلي وسلم على سيدنا محمد

احمد عبد الحميد ابوغرارة

CodeGuru CodeProject CGTalk

#7

تشكرات افندم

سؤال ليك استاذ احمد هل انت احمد عيد اللى انا اعرفة ام شخص اخر

لو انت اللى انا اعرف هتعرف انا مين من MUFIC

و شكرا

لا اله الا الله .......................................... محمد رسول الله

#8

العفو

لا , لست انا احمد عيد

"خيركم من تعلم العلم وعلمه". ..........استغفر الله. ........ اللهم صلي وسلم على سيدنا محمد

احمد عبد الحميد ابوغرارة

CodeGuru CodeProject CGTalk

#9

لا أزيد على كلام الإخوة الأفاضل ولكن

أيضا من مميزات الـــCONST

هو استخدامه في واجهة برامجك (INTERFACE) حيث تخبر المستخدمين

الأخريين ان هذه الدالة لا تقوم بالتعديل او هذا المتغير لا يتم تعديله في الداله

وتوجد حالة خاصة يجب استخدام const عندها وهي

عند كتابة دالة طباعة أو ترجع قيمة فقط وغيرها بشرط انها لا تقوم بتعديل

اي متغير وهذه الدالة موجودة في كلاس (class)

وقام هذا المتغير بتعريف هذا الكائن على انه ثابت const فعند استدعاء الدالة

سوف تظهر له رسالة خطأ وهذا هو مثال بسيط على الحالة التي يجب فيها ذكر كلمة

const

مثال عند عدم استخدام كلمة const

#include<iostream>
using std::cout;

class Hour{
	public:
	int get_hour() { return hour; }
	void print_hour(){ cout<<hour<<"\n";}
	private:
	int hour;
};



int main()
{
   const Hour h;
   h.get_hour();    <<<  هنا الخطأ 
   h.print_hour();   <<<  هنا الخطأ 

   retunr 0;
}

مثال عند استخدام كلمة const

#include<iostream>
using std::cout;

class Hour{
	public:
	int get_hour() const { return hour; }
	void print_hour() const { cout<<hour<<"\n";}
	private:
	int hour;
};

int main()
{
   const Hour h;
   h.get_hour();    <<<  استدعاء صحيح
   h.print_hour();   <<< استدعاء صحيح

   retunr 0;
}

واخيرا كتبت هذا الكود على عجل واعتذر على الاخطاء اللغوية

واي استفسار تفضلوا

هذا الموضوع مغلق.

مواضيع مشابهة