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

اسئلة فى بعض الكلمات الخاصة

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

ما الفرق بين

break and continue

كلمة volatile بتتحط قبل نوع المتغير ماذا تعنى

اقتباس
يستحسن أن لا نستعمل namespace والاكتفاء بالكائن الذي نريده مثل vector او string

او غيره لان std كبيرة جدا

ما معنى هذا الكلام

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

#2

اخى العزيز كلمه break معناها هى ان تخرجج من داخل ال scope الى انت بداخله هو ذلك دوراها

اما countinue

فهمى تعتبر عكس break

فمثلا عندما تكون داخل scope متقول countinueبترجع لاول ال scope تانى بسسسسس

بسم الله الرحمن الرحيم

إِنَّ الَّذِينَ آمَنُوا وَعَمِلُوا الصَّالِحَاتِ إِنَّا لَا نُضِيعُ أَجْرَ مَنْ أَحْسَنَ عَمَلاً

صدق الله العظيم

=================

Belal Mahmoud Younes

Solution Developer

Link Development a LINKdotNET subsidiary

Mobile : 010 89 69 772

E-mail : belalyounes@hotmail.com

#3

break;

تعني الخروج من ال scope الموجودة فيه كلمة break; والذهاب الى اول فقرة بعد القوس الاخير

continue;

لا تكمل اي سطر بعدها بل تنتقل الى جملة التكرار لتنفذ التكرار التالي

خذ المثال التالي

int main()
{
for(int i=0;i<3;i++)
{
if(i=2)break;
else
continue;
cout<<i;
}
return 0;
}

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

volatile

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

خذ هذا المثال للتحويل من volatile الى none volatile

int *f(void)
{
volatile int a=9;
int *p;
p=const_cast<*int> &a;
return p;
}
اقتباس
يستحسن أن لا نستعمل namespace والاكتفاء بالكائن الذي نريده مثل vector او stringاو غيره لان std كبيرة جدا

معظم المبرمجين ينصحون أستخدام ال name space في حالة المشاريع الكبيرة لانه في بعض الحالات قد لا يجد المبرمج اسماء ليضعها في متغيراته ولكن عند اسنخدامه ل namespace  فأنه يمكنه استخدام اسماء متشابهة في عدة ملفات ولكن بشرط ان توضع كل منها في namespace مختلف ويمكن تطبيق هذا على ال vector and string حيث انها تقع ظمن namespace واحد هو std والذي يحتوي على غيرها من الدوال وtemplates  مثل cout

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

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

CodeGuru CodeProject CGTalk

#4

افادك الله وشكرا انا بس هاعيد كتابة كودك الاخر علشان اى واحد يدخل بعدنا يشوفة كويس كوة ال code

int *f(void)
{
volatile int a=9;
int *p;
p=const_cast<*int> &a;
return p;
}

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

#5

معلش لو فيها تعب ممكن شرح المثال دة سطر سطر

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

#6

هي عبارة عن دالة صغيرة تقوم بالتحويل من volatile الة none volatile حيث استخدمت

دالة ترجع مؤشر ل int ثم تم تعريف متغير من نوع int على انه volatile وعرفت مؤشر من نوع int

ثم في السطر التالي

p=const_cast<*int> &a;

عملية تعرف في ال c++  بأسم cast  ولكن بما ان volatile يعامل في السي++ على انه شبيه بال const  فتم انشاء هذا النوع من cast من قبل مطوري اللغة  حيث اردت ان اخزن العنوان الحالي للمتغير في مؤشر ولا يمكن عمل هذا الشيء عن طريق كاست عادي مثلا

p=(*int) &a;

حيث خزن العنوان في مؤشر والذي تم ارجاعه من الدالة

تم تعديل هذه المشاركة بواسطة ahmed_3d في 4 سبتمبر 2004 في 12:47

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

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

CodeGuru CodeProject CGTalk

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…