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

محمد علاء الدين

مشرف قسمي C/Cpp و Windows API

المشرفون عضو شرف ★★★★★

  • الدولة الإسلامية
  • Operating Systems & Compilers
2,496مشاركة
885السمعة
141موضوع منشور
2 أكتوبر 2007تاريخ الانضمام
19 يوليو 2022آخر زيارة
36,246مشاهدة للملف
  1. [تمت الإجابة] أسئلة من الكود الأول في ++C

    مكتبات لغة cpp الإفتراضية لا تحتوى على امتداد للتفرقة بينها و بين مكتبات لغة c الإفتراضية حيث يمكن استخدام مكتبات لغة c داخل cpp بطريقتين: 1- عن طريق إستخدام إسم الملف بسابقة c و بدون إمتداد. 2- عن طريق استخدام إسم الملف كما فى لغة c. الفرق بين الطريقتين يكمن …

    16 نوفمبر 2013 في 08:16
  2. الحب من النظرة 13 ... Meta Programming

    كود الـ test case #include <iostream>using std::cout;struct test_data{ bool user_res; bool org_res;};const test_data data[] ={ { is_const<int>::value, false }, { is_const<const int>::value, true }, { is_const<volatile int>::value, false }, { is_const<const vol…

    15 نوفمبر 2013 في 17:34
  3. الحب من النظرة 13 ... Meta Programming

    بالتعديل التالي: template<typename tName, ulli base = 10, bool is_valid_range = base<2||((base-1)<=getMax<tName>::max)> struct digits_in_base_for_type; template<typename tName, ulli base> struct digits_in_base_for_type<tName, base, true> { static const ulli va…

    15 نوفمبر 2013 في 14:36
  4. الحب من النظرة 13 ... Meta Programming

    المشكلة لديك فى تعريف If عندما يكون الشرط خاطئ حيث الكلمة hello world!، جرب هذه النسخة: #include <iostream> #include <climits> using std::cout; using std::endl; typedef unsigned long long int ulli; template <typename x>struct getMax{static const ulli max = 0;}…

    15 نوفمبر 2013 في 03:20
  5. الحب من النظرة 13 ... Meta Programming

    اولا: الكود لم يترجم. ثانيا: الكود لا يعمل مع الـ signed types. ثالثا: أكبر قيمة للنوع بالإضافة لواحد لا تقبل داخل الأساس. رابعا: التنسيق سيئ يجعل قرائة الكود صعبة. تم تجربة الكود و لم يعمل على التالي: g++ 4.8.1 vc++ 2008 sp1 clang 3.3 intel c++ XE 14.0 و الله…

    15 نوفمبر 2013 في 00:13
  6. الحب من النظرة 13 ... Meta Programming

    انواع بيانات الأرقام الصحيحة يمكنها ترميز عدد محدود من القيم، المطلوب هو تصميم فئة تستقبل نوع البيانات و الأساس و يتم إعطائك عدد القيم التى يمكن ترميزها لذلك الأساس داخل النوع المحدد. لاحظ أن الأساس المدخل ايا كان قيمته لابد دائما ان يكون فى مدى من 2 و حتى أكب…

    14 نوفمبر 2013 في 18:22
  7. الحب من النظرة 13 ... Meta Programming

    على العكس، لابد منه إذا اردت تمرير رقم واحد فقط لـ get_type بدلا من رقمين. أطلعت عليها من قبل، خفيفة و مسلية. الكود التالي جزء من مشروع arbitrary precision arithmetic الذى اعمل عليه: #define MATHX_DEFINE_NC(tn, base_type) \ template<> \ struct numeric_cast<tn>…

    14 نوفمبر 2013 في 09:37
  8. الاستخدامات المتقدمة للدالة system

    تعتمد على نوع الأمر و الـ implemenation الخاص بـ system فمثلا قد تحتوى على قائمة بالأوامر الداخلية و عندما تطلب تنفيذ احداها تقوم بالتحقق من وجود active console window فإن لم يوجد لن يتم تنفيذه. لنفس سبب عدم إعادة كتابتك لبعض دوال الـ API بدلا من استخدامهم مع …

    13 نوفمبر 2013 في 21:24
  9. الحب من النظرة 13 ... Meta Programming

    عندما تكون داخل template class و تريد الإشارة إلى نوع داخل template class اخرى لابد ان تستخدم typename حتى يعلم المترجم ان الذى تشير إليه هو نوع. و اين هى v==v؟ و إليك حلي: template<bool cond, typename tt, typename ft> struct If { typedef tt type; }; template<…

    13 نوفمبر 2013 في 20:58
  10. الاستخدامات المتقدمة للدالة system

    سيتم تنفيذ الأمر و سيعاد لك error code. تحتاج لتعديل manifest الخاص ببرنامجك، إقرأ هذا الموضوع . لا الدالة system تستدعى برنامج موجود داخل النظام او أمر مدمج داخل الـ shell فمثلا إذا استدعيت cls من داخل برنامج GUI لن تعمل و ذلك لعدم وجود active shell. لا، و ال…

    13 نوفمبر 2013 في 16:32
  11. الحب من النظرة 13 ... Meta Programming

    كبداية، اى عضو مرحب به أن يشارك معنا بالحل الخاص به. الأنواع الصحيحة التى تقبل منك الأرقام السالبة و الموجبة تحدد لك مدى معين، المطلوب هو أني إما اعطيك رقم واحد أو مدى مكون من رقمين و تقوم انت بإعطائى النوع الأمثل لتمثيل الرقم. المقصود بالنوع الأمثل اى النوع ذ…

    13 نوفمبر 2013 في 03:02
  12. الحب من النظرة 13 ... Meta Programming

    انت لا تحب التعقيد اليس كذلك، أنظر التالي: template<uint32_t size> struct left_most_oct_digit { static const uint32_t value = ((size*8) % 3 == 1)? 1: 3; }; template<uint32_t size> struct oct_seven_count { static const uint32_t value = (size*8)/3; }; اعتقد ان ا…

    12 نوفمبر 2013 في 23:46
  13. الحب من النظرة 13 ... Meta Programming

    الإجابة الصحيحة هي: in type with size 1 byte(s): left-most octal digit is 3 seven digit count is 2 in type with size 8 byte(s): left-most octal digit is 1 seven digit count is 21 in type with size 1024 byte(s): left-most octal digit is 3 seven digit count is 2…

    12 نوفمبر 2013 في 22:12
  14. الحب من النظرة 13 ... Meta Programming

    أحيانا تكرار الكود افضل من وضع خورازمية معقدة لأنه مع مرور الوقت يزداد الإعتماد على الكود المكتوب و يصعب تغيير و انما الأسهل تطويره، لذا فلأول يسهل إبداله و تغييره أما الأخير فلن يكون سهل التطوير. هل تعتقد ان ما وضعته صعب، تذكر ما قلته لك فى البداية: التعقيد ل…

    12 نوفمبر 2013 في 20:07
  15. الحب من النظرة 13 ... Meta Programming

    الخطأ لديك يكمن فى هذا السطر: template<typename x , int y> فلك ان تتخيل ماذا سيحدث عن يتم تمرير قيمة ulli(-1)/2 حينها سيحدث overflow و لن يتم ترميز القيمه بشكل سليم. للحل اجعل x من نوع ulli. حتى الأن سيتم الحصول على النتيجة بشكل سليم ما عدا النوع ulli، و انا ا…

    12 نوفمبر 2013 في 18:40
  16. الحب من النظرة 13 ... Meta Programming

    هذا اجمل ما فى البرمجة، اكثر من طريقة لنفس النتيجة. أنظر هذا المثال أيضا: template<typename t> struct log10_for_type { static const int64_t value = int64_t( (((sizeof(t) * 8) - ((t(0) > t(-1))? 1: 0)) * 1233) >> 12); }; template<typename t> struct power10_for_…

    12 نوفمبر 2013 في 15:40
  17. الحب من النظرة 13 ... Meta Programming

    إليك هذا الكود للتسلية: #include <iostream> using std::cout; using std::endl; typedef signed long long int int64_t; typedef unsigned long long int uint64_t; template<uint64_t val> struct log2_for_literal { static const int64_t value = 1 + log2_for_literal< (va…

    12 نوفمبر 2013 في 15:19
  18. تمرين بسيط حول الملفات في لغة C

    لا يمكن حلها بسهولة، لأن مكتبات اللغة نفسها سواء ++C او C لا يدعموا التعامل مع ملفات بمساحة تزيد عن 4 جيجا. و بالتالي ستحتاج لإستخدام ادوات نظام التشغيل و بهذا دخلنا فى موضوع منفصل. توجد مشاكل أخرى مثل shared files و Exclusive lock و لكن حلول مثل هذه المشاكل م…

    12 نوفمبر 2013 في 14:57
  19. [تمت الإجابة]كيف نكتب كود لتحقيق القوانين الفيزيائية أثناء برمجة لعبة ؟

    أخي قوانين نيوتن الثلاثة تصنع لها مكتبات كاملة لتطبيقها داخل برمجة الألعاب لأن الفكره ليست بعض المتغيرات تقوم بحساب الفرق بينها و لكن سيكون لديك مجموعه من الـ objects قد يكونوا ببساطة كرة او دائرة او معقدة مثل وحش فضائي و المشترك بينهم هنا ان جميعهم له اتجاه و…

    12 نوفمبر 2013 في 14:28
  20. تمرين بسيط حول الملفات في لغة C

    داخل Windows يمكنك استخدام GetFileSize و تمرير المعامل الثاني NULL و ستساوى تماما الدالة FileSize مع العلم انه المفترض ان تعيد unsigned int و ليس int. و للملفات ذات المساحة الكبيرة - أكبر من 64بت - يمكن استخدام GetFileSizeEx. و الله ولي التوفيق

    12 نوفمبر 2013 في 00:22

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

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

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

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