Khaled Alshaya
مشرف قسم السي ++
- ياليتها كانت حمص(سوريا)
- Design and Impl. of Programming Languages
- كيف أقوم بتركيب Python 3.1 على Linux Mint؟
السلام عليكم و رحمة الله و بركاته, كنت قد جربت Ubuntu منذ زمن سحيق, و لكني أزلته رغم إعجابي بسهولته. منذ مدة قصيرة, قمت بتحميل Mint, ببساطة رائع. لم أتوقع كل هذا التطور صراحة, اعذرونا يا لينكساوية :) Python 2.6 يأتي بشكل افتراضي معه, و لكني أريد تركيب Python 3…
- بورصة لندن تودع الدوت نت باستقبال اللينكس
يا عزيزي أنت تستهزئ كثيراً بالمبرمجين العرب, محرك سوق الأسهم السعودي قام ببرمجته الأستاذ حاتم مصطفى بـ ++C.
- المؤشر This ما هي استخداماته؟
السلام عليكم ... المؤشر this هو مؤشر خاص يشير إلى النسخة التي يتم تنفيذ الدالة الحالية member function على كائن معين. فمثلاً في هذا الكود: class myclass { public: void any_function(int var); ... }; int main() { myclass object; object.any_function(5); } لو ركزن…
- المؤشرات كقيمه معاده من الدوال
السلام عليكم ... VC مرن قليلاً :P و لكن من الخطأ العمل عليه دون رفع مستوى الـ warning, قم برفع مستوى الـ warning إلى Level 4 /W4, و ستظهر العلة بكل بساطة. يا شباب, ما يتم إعادته هو "نسخة" من العبارة التي تلي return. في مثال الأخ محمد, العبارة تتلخص إلى عنوان ف…
- [سؤال] توليد عدد عشوائي كسري باستخدام Rand ؟
السلام عليكم ... أخي الشمري ضع الـ seed خارج الحلقة, لأن سرعة تنفيذ الحلقة أكبر بكثير جداً من أن تتغير القيمة العائدة من الدالة time. //Main --- Test Random --- float maxFloat = -1000; float minFloat = 1000; Random random; random.setSeed(time(0) + i); for(int …
- فيسبوك، سجن المستخدمين بشهادة جوجل
السلام عليكم ... للأسف موقع FB أصبح سيئاً بشكل كبير. في البداية كان التسجيل محصوراً على طلاب الجامعات في US, و كان الجميع يدخل بالاسم الحقيقي. كنت أسجل و أشارك في حضور مناسبات عديدة من عليه, إضافة إلى معرفة أين ذهب الأصحاب القدامى عن طريق البحث عن اسمائهم. الآ…
- المؤشرات كقيمه معاده من الدوال
السلام عليكم ... بالفعل أخ محمد, هذا التصرف غير معرف بالمواصفات القياسية. أنت تقوم بإعادة عنوان منطقة في الذاكرة لم تعد ملكك. الـ deconstructor يتم استدعاؤه بعد عملية الـ return. و return تقوم بإعادة نسخة من العبارة التي تليها. بمعنى أننا أعدنا نسخة من عنوان ا…
- كيف يمكن اعادة تعريف المعامل [] داخل الفئات
أهلاً محمد, حتى أكون صريحاً معك, الأمر أكبر من مستواي :) يمكنك ببساطة فعل هذا الشيء بـ vector أو deque مع توفير ما تطلبه من استعمال [] بشكل متغير. و لكن هناك ضريبة في الكفاءة. تصور مثلاً أن لدينا: std::vector< std::vector<double> > كل عنصر في المصوفة الكبيرة ع…
- مساعده في مثال حول Reference And Pointer
السلام عليكم ... أخي هذا : int *&p يسمى مرجع لمتغير, أي أننا نمرر عنوان المؤشر نفسه إلى الدالة. تصور أننا أزلنا & من التعريف, فإن ما سيمرر للدالة هو نسخة من المؤشر نفسه, و ليس المؤشر الذي مررناه أصلاً. بمعنى أبسط, إذا مررنا المؤشر نفسه بالمرجع, فسيصبح بإمكاننا…
- كيف يمكن اعادة تعريف المعامل [] داخل الفئات
السلام عليكم... أخي محمد, هناك الكثير من الطرق, و لكن بشكل عام سيكون هناك مقايضة بين الأداء و بين عمومية الاستخدام. فمثلاً vector يعيد reference لنفسه, و هكذا. خذ مثلاً هذا المثال: struct oneD { int elem[3]; int& operator[](size_t index) { return elem[index]; …
- الاستثناءات أو رسائل الأخطاء في محركات الألعاب
السلام عليكم ... أنا أتفق مع الأخ سلون في ما قاله, و هذا هو رأيي من البداية :) لاحظ أن الدالة التي عرضها الأخ سلون, لاتصدر أي أخطاء بنفسها, هذا يسمى predicate. بمعنى آخر, إن كنا نريد معرفة هل يوجد هذا الملف أم لا, فهذا مقصدنا و ليس خطأ جانبي. أعتقد أنه في البد…
- لغة C مواضيع لا تتطرق اليها الكتب
السلام عليكم ... أهلاً بك أخي العزيز, و أتمنى أن تكون أخاً لنا في المنتدى. أرى أخي أن تقوم بجولة في القسم, فهناك مواضيع كثيرة جداً منذ عام 2000 و القسم يجذب المبرمجين العرب, و حاول أن تطرح موضوعاً جديداً لتجد التفاعل. تحياتي...
- الاستثناءات أو رسائل الأخطاء في محركات الألعاب
أنا احسن, صرت عايد "خطأ منطقي" عشر مرات, حاسس اني ضيعت على آخر الليل :lol: عموماً الموضوع كبير و كبير جداً, مثلاً شيء مثل عندما تطلب ذاكرة, و يتضح أنه لايتوفر ذاكرة (عن طريق new مثلاً), هل هذا exception أو خطأ منطقي؟ لا تستعجل :) هذا نفس السؤال يسأله Walter Br…
- الاستثناءات أو رسائل الأخطاء في محركات الألعاب
نعود لنفس النقطة, هذا خطأ في الكود. تصور أنك تقوم بطلب اسم ملف لفتحه من قبل المستخدم, و عندما حاولت فتحه ظهر أنه غير موجود. يتم الامساك بالاستثناء, و طلب اسم آخر على سبيل المثال. هذا ليس خطأ في الكود الذي قمنا بكتابته, هذا حالة خاصة من الحالات التي يجب أن يعمل…
- الاستثناءات أو رسائل الأخطاء في محركات الألعاب
أخ محمد حبة حبة علينا, أنت تتكلم عن قلب المحرك و أنا أتكلم عن واجهته. أخي أنت دخلت في مواضيع متفرقة, بداية الـ hardware exceptions ليست من مهمتك, هذه مهمة نظام التشغيل. قبل سنتين كنت أقوم بعمل hard coding لعنوان التعليمة في الـ interrupts vector في ذاكرة 4 mb …
- الاستثناءات أو رسائل الأخطاء في محركات الألعاب
أخ محمد, خذ هذا المثال أيضاً, عندما تقوم بمحاولة الوصول إلى ذاكرة لا تملكها, خارج حدود مصفوفة مثلاً, مالذي يحصل؟ في Java سيتم رمي استثناء, و في ++C إذا كنت تعمل في الـ debugging سيتم رمي استثناء أيضاً, هل هذا معناه أنه يجب عليك معالجة هذا الاستثناء؟ رغم أننا أ…
- الاستثناءات أو رسائل الأخطاء في محركات الألعاب
السلام عليكم أخ محمد, هل رأيت من قبل مكتبة تقوم بعمل throw في حالة القسمة على صفر؟ أولاً, القسمة على صفر, هو خطأ منطقي يحصل في المعالج. من الطبيعي أن يقوم نظام التشغيل بإيقاف عمل البرنامج في تلك الحالة, إلا إن أردت استخدام أدواته لتفادي هذا الخطأ. ليس من مهمة …
- الاستثناءات أو رسائل الأخطاء في محركات الألعاب
السلام عليكم ... أخ محمد لماذا تريد استخدام ميزات في ++C في غير محلها, أنت كل ما تريده هو exception hierarchy مبنى على الـ standard exception لا أكثر و لا أقل :) هذه الصفحة تحتوي على الـ Standard Exceptions بأنواعها: http://www.cplusplus.com/reference/std/stde…
- هل دروس موقع Cplusplus.com مناسبة لي
السلام عليكم ... إذا كنت تريد تعلم اللغة من مصدر راقي, أنا متأكد بأنك مبرمج في هذه الحالة. الكتاب الأفضل بلا منازع هو من صاحب اللغة نفسه, و لكن الكتاب من النوع المركز, و لكن اسلوبه احترافي و ليس موجه لتعلم البرمجة من الأساس. The C++ Programming Language ستجده …
- الاستثناءات أو رسائل الأخطاء في محركات الألعاب
السلام عليكم ... لا أستطيع التخيل كيف تكون رسائل الخطأ أفضل؟ إما أن تجبر مستخدم المحرك على معالجة الأخطاء ضمن منطق برنامجه بواسطة الـ error numbers, أو أن تدعه يكتب منطق البرنامج, و من ثم يضيف الاستثناءات التي يرغب بمعالجتها بعيداً عن منطق اللعبة نفسها. مثلاً,…