تعلم C++: دورة برمجة
تعلم C++: دورة برمجة — كتابة أكواد C++ وتجميعها وتشغيلها من هاتفك
تعلم C++: دورة برمجة هو تطبيق مجاني لأجهزة iOS وAndroid للمبتدئين وطلاب علوم الحاسوب والمطورين الذين يرغبون في تعلّم C++ من خلال كتابته. يرسل المحرر المدمج أكوادك إلى مُجمِّع GCC حقيقي ويعرض الناتج ورمز الخروج، بينما يحوّل AI Mentor أخطاء المُجمِّع إلى شرح واضح باللغة العربية. تنقلك 51 دورة وأكثر من 200 درس قصير من أول استخدام لـ cout إلى الأصناف وSTL وmove semantics وC++20.
- السعر
- مجاني، مع ترقية Pro
- المنصات
- iOS وAndroid
- اللغات
- 22
- التصنيف العمري
- 4+
- يتطلب
- iOS 15.1 أو أحدث
- App Store
- 4.9 ★ (7)


لا تعود المؤشرات مخيفة بعد الدرس الثاني عشر.
تشتهر C++ بصعوبة تعلّمها، لكن جزءًا كبيرًا من ذلك يعود إلى تقديم كل شيء دفعة واحدة: الملكية، وheap، والقوالب وSTL منذ اليوم الأول. على مدار 51 دورة قصيرة، تُقدَّم المادة نفسها طبقةً بعد أخرى، وتنتهي كل فكرة بأكواد تجمعها وتشغّلها بنفسك.
ما هو
تعلم C++: دورة برمجة هو تطبيق مجاني لأجهزة iOS وAndroid يعلّمك C++ بدءًا من أول استخدام لـ cout وصولًا إلى الأصناف وSTL وmove semantics وC++20 الحديث. يضم 51 دورة وأكثر من 200 درس قصير موزعة على خمسة مسارات (الأساسيات، والذاكرة، والكائنات، وSTL، وبناء البرامج الحقيقية)، ومحررًا يجمّع الأكواد باستخدام مُجمِّع GCC حقيقي، و20 مشروعًا موجّهًا، و60 مهمة برمجية، وAI Mentor مزودًا بمترجم للأخطاء.
داخل التطبيق
كيف يبدو





الدورة
ما تغطيه دورة C++
51 دورة من المنهج الخاص بالتطبيق، بدءًا من أول برنامج مُصرَّف ووصولًا إلى التزامن الخالي من الأقفال وcoroutines.
البنية النحوية والسلاسل وتدفق التحكم
إعداد compiler وتشغيل أول برنامج، ثم المتغيرات واستنتاج الأنواع، وstd::string مقارنةً بمصفوفات char على نمط C، وتدفقات الإدخال والإخراج، وأنماط تدفق التحكم التي تفترضها كل دورة لاحقة.
الهياكل والمتجهات والمشروعات المصغّرة
مقدمة إلى الهياكل والفئات، والعمل مع الأرقام والرياضيات، والمتجهات والمصفوفات الديناميكية، والتمرير بالمرجع، ومشروعات عملية صغيرة تجمع هذه العناصر معًا.
الذاكرة وRAII والبدائل الأكثر أمانًا للمؤشرات الأولية
نموذج ذاكرة المكدس مقابل الكومة، وRAII وإدارة الموارد، ومعالجة الاستثناءات وnoexcept، وصحة const، واستخدام المؤشرات بأمان، والمؤشرات الذكية بوصفها البديل الحديث لـ new وdelete اليدويين.
الأنواع الحديثة والحاويات والتصميم كائني التوجه
Enums وunions وstd::variant، وstd::optional وstd::expected، وstd::string_view وstd::span، والحاويات الترابطية وعمليات hashing في unordered_map، والوراثة وتعدد الأشكال، وزيادة تحميل operator للأنواع المعرفة من المستخدم.
أدوات البناء وإدخال وإخراج الملفات والمكتبة القياسية
البناء باستخدام CMake وإدارة الحزم، وإدخال وإخراج الملفات باستخدام fstream، ومكتبة chrono للوقت، ومطابقة الأنماط باستخدام ترويسة regex؛ وهي أجزاء C++ التي تربط الكود بنظام الملفات والساعة.
STL وC++ الحديثة من C++11 إلى C++20
جولة على التغييرات التي طرأت من C++11 إلى C++20، ودلالات النقل ومراجع rvalue، وlambdas وstd::function، وخوارزميات STL، والمكررات وranges، وتصحيح الأخطاء باستخدام sanitizers.
القوالب والأداء وبرمجة الأنظمة
بدائيات التزامن، وتخصيص القوالب وSFINAE، والقوالب المتقدمة وmetaprogramming، ومفاهيم C++20، وتحليل الأداء، وتصميم الواجهة العامة لمكتبة.
التزامن المتقدم وcoroutines
البرمجة الخالية من الأقفال وatomics للحالات التي يكون فيها mutex بطيئًا جدًا، وcoroutines في C++20، وهي أحدث إضافة إلى اللغة، وتُدرَّس أخيرًا لأن كل ما سبقها يمثل متطلبًا أساسيًا لها.
كيف يعمل
كيف تعمل جلسة C++
تجمع كل جلسة بين درس قصير وكود تشغّله، إلى جانب بعض التدريبات اليومية التي تحافظ على حداثة معرفتك بالصياغة.
اقرأ درسًا قصيرًا واحدًا
افتح دورة وخذ درسًا واحدًا عن فكرة محددة، مثل struct أو reference أو smart pointer. الدورة الأولى مجانية، لذا يمكنك التعرّف إلى أسلوب الدروس قبل أن تقرر أي شيء.
اكتب الكود واجمعه وشغّله
اكتب الكود في محرر الهاتف وشغّله. يبنيه مُجمِّع GCC حقيقي ويعيد الناتج ورمز الخروج، كما تتوفر مساحة لكتابة الإدخال للبرامج التي تقرأ من cin. وبما أن المُجمِّع يعمل عن بُعد، يتطلب تشغيل الكود اتصالًا.
حافظ على مهارتك مع التدريبات اليومية وAI Mentor
توقّع ناتج خمسة برامج قصيرة، أو أصلح برنامجًا معطّلًا في البحث اليومي عن الأخطاء، أو خض سباق Syntax Sprint لمدة 60 ثانية. وعندما يكون الخطأ غير مفهوم، الصقه في AI Mentor لتحصل على شرح له في جملة واحدة، إضافةً إلى السطر الذي يجب إصلاحه.
ماذا يتضمن
ما يتضمنه التطبيق
51
الدورات وأكثر من 200 درس
تجمع خريطة الدورات الدورات في خمسة مسارات: الأساسيات، والذاكرة، والكائنات، وSTL، وبناء البرامج الحقيقية. وتمتد الموضوعات من المتغيرات والتدفقات، مرورًا بالمؤشرات وRAII والقوالب، وصولًا إلى CMake والتزامن وcoroutines.
GCC
مُجمِّع حقيقي داخل المحرر
يُبنى الكود باستخدام مُجمِّع GCC حقيقي، وليس محاكيًا. سترى الناتج ورمز الخروج، ويمكنك تزويد البرامج التي تقرأ من cin بالإدخال، وإعادة التشغيل بنقرة واحدة. يُحفظ كل برنامج تشغّله.
3/day
ثلاث عادات للممارسة اليومية
توقّع الناتج (خمسة برامج قصيرة يوميًا، وأجب قبل أن يحسم المُجمِّع النتيجة)، وابحث يوميًا عن الأخطاء مع تلميحات مجانية، وخض سباق Syntax Sprint لمدة 60 ثانية، وهو عبارة عن أسئلة تُجاب عنها بنقرة واحدة.
20
مشاريع موجّهة
ابنِ برامج حقيقية خطوةً بخطوة، مثل نظام جرد، وحسابًا مصرفيًا، وأشكالًا باستخدام تعدد الأشكال، ومكدسًا قائمًا على قالب، وآلة حاسبة لـRPN، وقائمة مترابطة، وآلة حالات.
AI
AI Mentor ومترجم الأخطاء
هل توقفت عند مؤشر أو أمام سيل من أخطاء القوالب؟ الصق الخطأ لتحصل على شرح له في جملة واحدة، أو اطرح أي سؤال على AI Mentor باللغة العادية.
60
المهام وتحدي العالم
60 مهمة برمجية تتدرج من السهل إلى الصعب، ومسألة برمجية جديدة كل يوم، وWorld Coding Challenge، وهي ثلاث جولات عالمية مباشرة يوميًا مع لوحة صدارة، إلى جانب سلاسل الإنجاز وXP والتذكيرات.
الخلفية
لماذا لا تزال C++ تشغّل البرامج التي لا تحتمل البطء؟
تُجمّع C++ مباشرةً إلى كود الآلة وتمنح المبرمج تحكمًا مباشرًا في الذاكرة، فلا يقف شيء بين الكود والعتاد. ولهذا لا تزال محركات الألعاب مثل Unreal، وأنظمة التداول عالي التردد، والبرمجيات الثابتة للروبوتات، والعديد من مكونات أنظمة التشغيل تُكتب بها بعد عقود من ظهور اللغات الأعلى مستوى. وهذا التحكم نفسه هو ما يجعلها تبدو صعبة في البداية: إذ يجب على برنامج C++ أن يحدد صراحةً مكان وجود القيمة ومن المسؤول عن تحريرها، بينما تنفذ Python أو JavaScript ذلك دون أن تراه.
المكدس في مقابل heapنموذج الذاكرة
تُحرَّر ذاكرة المكدس تلقائيًا لحظة عودة الدالة؛ أما ذاكرة heap فتبقى إلى أن يحررها شيء ما صراحةً. وترجع العديد من الأخطاء التي يواجهها المبتدئون، مثل المؤشر المتدلي أو تسرّب الذاكرة أو التعطل الناتج عن الوصول إلى ذاكرة محررة، إلى الخلط بين الاثنين.
RAIIشبكة الأمان الخاصة بـC++
تربط Resource Acquisition Is Initialization مدة بقاء المورد بمنشئ الكائن ومدمّره، فيُحرَّر تلقائيًا عندما يخرج ذلك الكائن من النطاق. وتُعد المؤشرات الذكية تطبيقًا لمبدأ RAII على الذاكرة، وهو الأسلوب الذي يجعل C++ الحديثة أكثر أمانًا بكثير من أكواد المؤشرات الخام التي حلّت محلها.
STLالأدوات الأساسية داخل اللغة
تضم Standard Template Library حاويات مثل vector وmap وunordered_map، إلى جانب المكررات والخوارزميات التي تنفذ الفرز والبحث والتحويل مسبقًا. ويشكّل اللجوء إلى STL بدلًا من كتابة linked list يدويًا النقطة التي تتوقف عندها C++ عن الشعور بأنها عمل يدوي شاق.
القوالبأكواد تعمل مع أي نوع
تتيح القوالب لدالة أو صنف واحد العمل مع أي نوع يستطيع المُجمِّع حسمه وقت التجميع، من دون تكلفة وقت التشغيل. وهي الآلية التي تقوم عليها STL نفسها، والسبب في قدرة مكتبات C++ على الجمع بين العمومية والسرعة.
الملاءمة
لمن يناسب — ولمن لا يناسب
يناسبك إذا كنت
- تريد تعلّم الأجزاء الصعبة في C++، مثل المؤشرات والكومة والقوالب، مقدَّمة واحدة تلو الأخرى بدلًا من جمعها في دليل كثيف واحد
- أنت طالب علوم حاسوب تتابع مقررات دراسية تفترض معرفتك بـ STL وهياكل البيانات الأساسية
- تتجه إلى العمل في تطوير الألعاب أو الأنظمة المضمّنة أو الأنظمة، وتحتاج إلى فهم نموذج الذاكرة فهمًا فعليًا
- تأتي من Python أو Java وتريد فهم ما يحدث في الذاكرة
- تفضّل لصق خطأ compiler حقيقي في AI Mentor بدلًا من البحث في المنتديات عن رسالة نمطية
ليس الأداة المناسبة لك إذا كنت
- تحتاج إلى تشغيل الكود دون اتصال: تُصرَّف البرامج على compiler بعيد يعمل بـ GCC
- تحتاج اليوم إلى سلسلة أدوات سطح مكتب كاملة، مثل مشروعات CMake متعددة الملفات والمكتبات الخارجية الكبيرة ومصحح الأخطاء، وهي أمور مكانها الكمبيوتر
- تريد الحصول على الدورات الـ51 كلها مجانًا: الدورة الأولى ومجموعة من التدريبات اليومية مجانية، بينما يفتح Pro الدورات المتبقية
- تعمل بالفعل باحتراف في C++ وتريد مرجعًا بدلًا من دورة مرتبة على مراحل
الأسئلة
الأسئلة الشائعة
ما هو تعلم C++: دورة برمجة؟
تعلم C++: دورة برمجة هو تطبيق مجاني على iOS وAndroid لتعلّم برمجة C++ من خلال دروس قصيرة ومحرر كود مدمج يُصرّف البرامج باستخدام compiler حقيقي يعمل بـ GCC. صُمّم للمبتدئين وطلاب علوم الحاسوب ومطوري الألعاب والأنظمة وكل من يستعد لحصة برمجة. الواجهة متاحة بـ22 لغة.
هل تعلم C++: دورة برمجة مجاني؟
يمكن تنزيله مجانًا من App Store وGoogle Play والبدء باستخدامه مجانًا. الدورة الأولى، ومجموعة Predict the output اليومية، وتحدي البحث عن الأخطاء اليومي، وثلاث جولات من Syntax Sprint يوميًا، وأول مشروع موجّه، ومهمتان، ومسألة البرمجة اليومية، وWorld Coding Challenge، وسؤال واحد يوميًا إلى AI Mentor كلها مجانية. يفتح Pro جميع الدورات والمهام والمشروعات، وSyntax Sprint بلا حدود، وجميع أدوات AI، وامتحان الشهادة، وتجربة خالية من الإعلانات.
هل يمكنني تصريف C++ وتشغيله على هاتفي، وهل يعمل دون اتصال؟
نعم، يمكنك كتابة C++ في محرر التطبيق وتشغيله من هاتفك. يبني compiler حقيقي يعمل بـ GCC الكود ويعيد الناتج ورمز الخروج، ويمكن للبرامج التي تقرأ من cin استقبال إدخال تكتبه. وبما أن compiler بعيد، فإن تشغيل الكود يتطلب اتصالًا بالإنترنت. ومن الأفضل بناء مشروعات CMake الكبيرة متعددة الملفات على الكمبيوتر.
لمن يناسب التطبيق، وماذا يغطي؟
يناسب المبتدئين الذين يتعلمون C++ كلغة أولى أو ثانية، والطلاب في صفوف C++، ومطوري الألعاب والأنظمة، والمطورين القادمين من Python أو Java والراغبين في فهم الذاكرة. تغطي الدورات الـ51 المتغيرات والسلاسل والتدفقات وتدفق التحكم والهياكل والفئات والمتجهات والمراجع والمؤشرات وRAII والمؤشرات الذكية والقوالب وlambdas وSTL وإدخال وإخراج الملفات وCMake والتزامن وcoroutines.
ما هي Predict the output وBug hunt وSyntax Sprint؟
إنها ثلاث عادات يومية للتدرب على C++. تمنحك Predict the output خمسة برامج قصيرة يوميًا، وتطلب منك تحديد الإجابة قبل أن يحسمها compiler. ويقدّم لك Bug hunt برنامجًا معطّلًا واحدًا يوميًا لإصلاحه وإثبات صحة إصلاحك باستخدام compiler، مع تلميحات مجانية. أما Syntax Sprint فهي أسئلة مدتها 60 ثانية حول البنية النحوية، بنقرة واحدة، تحاول فيها تجاوز أفضل نتيجة حققتها.
لماذا تبدو المؤشرات والفصل بين المكدس والكومة صعبين جدًا في C++؟
تقرر معظم اللغات بالنيابة عنك مكان تخزين القيمة ووقت تحريرها؛ أما C++ فتجعلك أنت من يقرر، وهذا هو مصدر الصعوبة بأكمله. المؤشر ليس سوى متغير يحتوي على عنوان قيمة أخرى، لكن الخلط بين المكدس والكومة يؤدي إلى مؤشرات معلّقة وتسريبات وأعطال. يعلّمك التطبيق نموذج الذاكرة وRAII والمؤشرات الذكية في دورات مخصصة لها.
ما هو RAII، ولماذا تفضّله C++ الحديثة على new وdelete اليدويين؟
RAII، أي Resource Acquisition Is Initialization، يربط دورة حياة المورد بمنشئ الكائن ومُدمّره، لذلك يُحرَّر المورد تلقائيًا عند خروج الكائن من النطاق، ولا توجد استدعاءات delete يمكن نسيانها. المؤشرات الذكية هي تطبيق لـRAII على الذاكرة، والانتقال من new وdelete الأوليين إلى المؤشرات الذكية من أكبر تحسينات الأمان في C++ الحديثة.
هل ينبغي أن أتعلم STL قبل كتابة هياكل البيانات الخاصة بي؟
نعم، عمومًا. توفر Standard Template Library متجهات وخرائط ومجموعات ومكررات وخوارزميات مختبرة مسبقًا، لذا تتعلم استخدام std::sort بدلًا من إعادة تنفيذها. ومع ذلك، سيطلب منك التطبيق بناء قائمة مترابطة ومكدس قوالب وهياكل أخرى في مشروعاته الموجّهة بعد ترسيخ الأساسيات.
هل يساعد التطبيق في الاستعداد لمقابلات C++؟
يساعد في جانب التدريب. تدرّبك Predict the output وBug hunt على قراءة الكود بعناية، وتغطي دورات STL الحاويات والخوارزميات التي تعتمد عليها المقابلات، كما تدرّبك مشروعات موجّهة مثل القائمة المترابطة ومكدس القوالب وآلة حاسبة لـRPN على هياكل شائعة. لكنه دورة تعليمية وليس بنكًا مخصصًا لأسئلة المقابلات.
هل Learn C++: Code & Practice على App Store هو التطبيق نفسه؟
نعم. يحمل التطبيق على App Store اسم Learn C++: Code & Practice، بينما يحمل على Google Play اسم تعلم C++: دورة برمجة، لكنه التطبيق نفسه بالدورات الـ51 نفسها. تُصدر شهادة إتمام بعد الامتحان النهائي؛ وهي تسجل عملك وليست مؤهلًا معتمدًا.
ابدأ الآن
صرّف أول برنامج C++ لك اليوم
51 دورة، وcompiler حقيقي يعمل بـ GCC، وAI Mentor. ابدأ مجانًا على iOS وAndroid وبـ22 لغة.
المزيد من CoddyKit
متاح على iOS و Android.