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

ما هو دور const ( سي ++)

بدأه SoUfiaNoXx في 26 نوفمبر 2011 · 3 رد · 663 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

المشكل اهر من عنوانه

اريد شرح حول كلمة const وما فائدتها

وشكرا

1
#2

كما ان هنالك ثوابت .. هنالك متغيرات ..

المتغير فائدته تكوين مساحة في الذاكرة من دون تثبيت محتواها .. اما المتغير فهو تكوين مساحة في الذاكرة ولكن قيمتها ستكون ثابتة طول عمل البرنامج .. على سبيل المثال قانون مساحة الدائرة يحتوي نسبة ثابته لا يمكن تغييرها ..لذلك يمكنك تثبيت هذه القيمة في البرنامج .. واينما استعملتها ستستخدم اسم الثابت الذي اسميتها به ولا تحتاج لان تكتب قيمة الثابت ..

كما في هذا المثال ..

#.hinclude <iostream>

#.hinclude <iostream>

int main ()
{
  double r=5.0;               
  double circle;

  circle = 2 * PI * r;
  cout << circle;
  cout << NEWLINE;

  return 0;
}

لاحظ انه تم تعريف ثابت اسمه PI والذي يحتوي على قيمة النسبه الثابتة .. والتي لن تتغير طوال البرنامج .. واينما اردت استخدام قيمة النسبة الثابتة فقط اكتب PI ..

ملاحظتين ..

1- البعض يستخدم #define او مانسميه بالماكرو لانشاء ثابت .. النتيجة الظاهرية واحدة لكن داخليا الامور تختلف بشكل واضح ولكن هذا موضوع متقدم نوعا ما لانك ستحتاج الى دراسة Prepossesser ..

#define PI 3.14

2- عند اطلاعك المستقبلي على كودات مفتوحة المصدر .. ستجد استخدام الثابت اكبر من المثال المذكور اعلاه ..غالبا ما يكون موجها مع دوال API او مع دوال ضخمة البناء .. اما في الدوال البسيطة فان الاستخدام الشائع #define ولكن لعدد بسيط من الثوابت ..

اعرف انه كان لمحة عامة عن الثوابت ولكن هذه مجرد فائدة لك وربما الاخوة يضيفون على كلامي ..

تحياتي العطرة ..

1

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#3

ممكن ان يقول const مثل pointure في سي اي التابع (int *p) ؟؟؟

#4
اقتباس
اريد شرح حول كلمة const وما فائدتها

الكلمه const لها استخدامات عديده داخل اللغه و هي تعتمد على مكان استخدام الكلمه const. يوجد فصل كامل فى كتاب Thinking in C++ 2nd Edition يتحدث عن الثوابت (الفصل الثامن) أرجع إليه لمزيد من التفاصيل.

اقتباس
ممكن ان يقول const مثل pointure في سي اي التابع (int *p) ؟؟؟

لا يمكنك ذلك، الموشرات مختلفه عن الثوابت، راجع موضوع فكر معي فى معني هذا الثابت للأخطاء الشائعه فى تعريف الثوابت.

و الله ولي التوفيق

مدونتي: C++ Tips and Tricks

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