• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

البحث في المنتدى

Showing results for tags 'Standard'.

  • البحث بالتاقات

    اكتب الكلمات المفتاحيه بينها علامه الفاصله
  • البحث بكاتب الموضوع

تم إيجاد 2 نتيجة

  1. من وحي Appendix B

    يقول حكما ء الـ++C دوماً : عليكم بوثائق اللغة .. وعملاً بنصيحة الـC++ers :) فيجب أن تقرأ من وثائق اللغة كلما واجهتك مشكلة .. وعندما تألف هذه الوثائق اقرأها من البداية للنهاية .. وستكتشف أنك لم تكن تعلم شيئاً :) في هذه المشاركة أرغب في مشاركة بعض المعلومات التي قرأتها , بهدف فتح شهية السنافر لأكل التوت لن أعلق على الأكواد .. وسأترك لكم اكتشافها ..(أو العودة للوثائق) اقرأ الكود التالي بعناية .. ثم توقّع المخرجات int main(){#define iF(a)    if(a)if(a)if(a)if(a)if(a)if(a)if(a)if(a)if(a)if(a)#define If(a)    iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)#define IF(a)    If(a)If(a)If(a)If(a)If(a)If(a)If(a)If(a)If(a)If(a)    int a=0;    IF(a)        printf("Finally O.K.\n");    return 0;}أو هذا: int main(){#define if(a)   while(a)#define iF(a)    if(a)if(a)if(a)if(a)if(a)if(a)if(a)if(a)if(a)if(a)#define If(a)    iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)iF(a)#define IF(a)    If(a)If(a)If(a)If(a)If(a)If(a)If(a)If(a)If(a)If(a)    int a=0;    IF(a)        printf("Infinite!\n");    return 0;}وهذا من نفس المبدأ int main(){#define _ [1][1][1][1][1][1][1][1][1][1][1][1][1][1]#define __ _ _ _ _ _ _ _ _ _ _#define ___ __ __ __ __ __ __ __ __ __    int a ___={0x36a2};}هل سمعت من من قبل بالدالة atexit ؟ ماذا تتوقع من الكود التالي #include<cstdio>void p(){    printf("First!");}int main(){    atexit(p);    printf("Last!\n");} اقرأ الوثائق :) بالتوفيق
  2. ظهر لي أحد الأشخاص لا يدعم القياسية في السي++ فقط بل يتنفسها, يهواها, يفديها بحياته :D , كلما كتبت كود سي ولو سطر واحد ينتج أنه غير مطابق للمواصفات القياسية بينما يطرح هذا الشخص الكود الذي يظهر على الأقل 6 اسطر أخطاء في المترجم مقابل سطر واحد في الكود :lol: , وفي النهايه أكتشف أنه مطابق للمواصفات القياسية التي لا أعلم عنها شيء انظر معي : #include <iostream>using namespace std;int main(int argc, char* argv[]) {int n;cin >> n;int array1[n][n];return 0;}هل لديك اعتراض على هذا الكود ؟؟ دقق النظر في السطر السادس ها, ماذا تقول ؟؟ هل يعمل هذا الكود ؟؟ أم انك معترض عليه لأن المترجم يحتاج قيمه محدده ليحجز على أساسها مساحة المصفوفة ؟ اذا كنت معترض (مثلي طبعا ) , مبروك أنت خطأ :D , مثلي ايضاً طيب وما الدليل على اننا اخطأنا , تقول لي نجرب والميه تكدب الغطاس !!! نسأل صاحبنا القياسي فيقول هات مترجم جديد , مثلا مترجم ميكروسوفت الجديد , نقوله ماشي احدث حاجه عندنا VC++ 8 في VS 2005 أظن أحدث حاجه على الإطلاق , جرب..... 1>.\Main.cpp(6) : error C2057: expected constant expression1>.\Main.cpp(6) : error C2466: cannot allocate an array of constant size 01>.\Main.cpp(6) : error C2057: expected constant expression1>.\Main.cpp(6) : error C2466: cannot allocate an array of constant size 01>.\Main.cpp(6) : error C2087: 'array1' : missing subscript1>.\Main.cpp(6) : error C2133: 'array1' : unknown sizeمش قلتلك غلط , هات الحلاوه وما تتكلمش معايا تاني يا عم القياسي :lol: يرد عم القياسي يقولي لا الكود صح والمترجم هو الغلط :angry: :blink: , انت بتقول ايه ؟ , أحدث اصدار غلط , نشوف طيب اللي قبلها , لا دي نفس النتيجه , عموما مش ميكروسوفت بس هي اللي بتعطي نفس النتيجه قاللي ده شغال على Dev جربت الكود عليه (لأول مره اتعامل معاه) , قبل الكود واشتغل تمام , عجيبه <_< طيب ليه ؟ رده كان جميل جدا , المترجم ده بينصاع لـ ANSI/ISO C99 طيب تعالوا نشوف النقطه دي كمان : int *p;p = new int[1000];if(p == NULL) {  cout << "Error ...." << endl;  return -1;}ها رأيك ايه في الكود ده ؟؟ على فكره انا اللي كاتبه , نصيحه توقع انه غلط :P لسه مصر انه صح ؟؟ طيب اسمعها منه " this code has a logical problem " , ايه رأيك ؟؟ طيب تعرف ايه المشكلة ولا عرفتها من نفسك ؟؟ المشكله في اختبار اذا كان p تساوي NULL ولا لأ وبناء عليها هل اكمل البرنامج ام أخرج منه رد الراجل ان new مش حترجع NULL في حالة الفشل ولكن سوف تمرر exception وهو bad_alloc , لهذا فإن البرنامج لن يعلم بحالة الفشل مما يؤدي الى تعطل البرنامج نفسه طيب , انا عن نفسي مش جايب الكلام ده من بيتنا ده موجود في كل مكان ميكروسوفت بتقول كده , الأمثله دي مش أنا اللي كاتبها لكن على مين , ده صاحبنا قياسي وماشي زي ما المنظمه ما بتقول بالضبط طلع ان العالم دي كلها متخلفة لأنهم شغالين على النظام القديم ومفيش تطوير ولا توافق و تنفيذ لقرارات ANSI/ISO الجديدة أخيرا اكتشفت الحقيقة المؤلمة , الراجل طلع كلامه صح Are you Ready For C99? أخيرا , ودي ماتكلمتش فيها لا بابيض ولا اسود , void main()تعتبر جريمة من جرائم الحرب, استعمل int main()خليك راجل قياسي :D الى اللقاء مع موقف جديد مع صاحبنا القياسي