ما الفرق بين
break and continue
كلمة volatile بتتحط قبل نوع المتغير ماذا تعنى
اقتباسيستحسن أن لا نستعمل namespace والاكتفاء بالكائن الذي نريده مثل vector او stringاو غيره لان std كبيرة جدا
ما معنى هذا الكلام
ما الفرق بين
break and continue
كلمة volatile بتتحط قبل نوع المتغير ماذا تعنى
اقتباسيستحسن أن لا نستعمل namespace والاكتفاء بالكائن الذي نريده مثل vector او stringاو غيره لان std كبيرة جدا
ما معنى هذا الكلام
لا اله الا الله .......................................... محمد رسول الله
اخى العزيز كلمه 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
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"خيركم من تعلم العلم وعلمه". ..........استغفر الله. ........ اللهم صلي وسلم على سيدنا محمد
احمد عبد الحميد ابوغرارة
افادك الله وشكرا انا بس هاعيد كتابة كودك الاخر علشان اى واحد يدخل بعدنا يشوفة كويس كوة ال code
int *f(void)
{
volatile int a=9;
int *p;
p=const_cast<*int> &a;
return p;
}لا اله الا الله .......................................... محمد رسول الله
معلش لو فيها تعب ممكن شرح المثال دة سطر سطر
لا اله الا الله .......................................... محمد رسول الله
هي عبارة عن دالة صغيرة تقوم بالتحويل من 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
"خيركم من تعلم العلم وعلمه". ..........استغفر الله. ........ اللهم صلي وسلم على سيدنا محمد
احمد عبد الحميد ابوغرارة
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…