Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon
مسار تعليمي

خارطة طريق مطور C++

ما تتعلمه، بالترتيب، للحصول على وظيفة C++ في الألعاب أو الأنظمة أو التداول أو البرمجيات المدمجة: اللغة نزولًا إلى الذاكرة ودلالات النقل (move semantics) والقوالب، ثم سطر الأوامر وGit وSQL، ثم هياكل البيانات والخوارزميات التي تعتمد عليها مقابلات C++، وكود يستطيع الفريق صيانته. مجانًا، بالتطبيق العملي، داخل متصفحك، ومن دون ترجمة أي شيء على جهازك.

483,554+ من الـ codders مسجلون في هذه الدورات

614 درسًا524 تحديات2,885 أسئلة الاختبار

خارطة طريق مطور C++، خطوة بخطوة

17 دورات6 أقسام614 درسًا524 تحديات2,885 أسئلة الاختبار

كل خطوة مكوّنة من مساقات موجودة بالفعل على Coddy، وكل زر «ابدأ» يفتحها بلغة C++. سر على الخطوات بالترتيب، أو ابدأ بالخطوة التي تنقصك؛ تقدمك محفوظ لكل مساق على حدة.

  1. 1
    ابدأ هذه الخطوةابدأثلاثة أقسام. يغطي قسم «الأساسيات» الأنواع والمعاملات والتحكم في مسار التنفيذ والدوال والمصفوفات والسلاسل النصية؛ ويغطي قسم «المنطق وتدفق التنفيذ» المؤشرات باستخدام new وdelete، وstd::vector وstd::map وstd::set، ودوال lambda، ونظرة أولى على التعاود، والاستثناءات؛ ويغطي قسم «البرمجة كائنية التوجه» ملفات الترويسة (header files)، وذاكرة المكدس مقابل ذاكرة الكومة، والمؤشرات الذكية وRAII، والمُنشئات والهادمات، والتحميل الزائد للمعاملات، والدوال الافتراضية، والقوالب، ومكتبة STL، ودلالات النقل، وأنماط التصميم. لغة C++ صعبة في البداية لأنها تترجم أخطاءً كانت لغات أخرى سترفضها؛ تعلّمها بعمق، لأن وظائف C++ توظّف من أجل هذا العمق بالتحديد.ابدأصفحة مخصصة
  2. 2
    ابدأ هذه الخطوةابدأالملفات ومساراتها، وأحرف البدل (wildcards)، وgrep، والأنابيب وإعادة التوجيه، والصلاحيات، ومتغيرات البيئة، وسكربتات shell. خوادم C++ وأنظمة التداول وكثير من أعمال البرمجيات المدمجة تعمل على Linux، والأدوات اليومية أدوات طرفية: تترجم باستخدام g++ أو clang++، وتمرّر إلى البرنامج مُدخلات اختبار باستخدام <، وتلتقط مخرجاته باستخدام >، وتبحث في سجل الأعطال باستخدام grep. وسكربت shell يحوّل عملية بناء أو تشغيل اختبارات متعددة الخطوات إلى أمر واحد.ابدأصفحة مخصصة
  3. 3
    ابدأ هذه الخطوةابدأتجهيز التغييرات (staging)، والالتزامات، و.gitignore، والفروع، والدمج والتعارضات، والتراجع عن الأخطاء، والمستودعات البعيدة. ملفات الكائنات (object files) والملفات الثنائية ومجلد build/ مكانها .gitignore، ولا مكان لها في أي التزام. كثيرًا ما تحتفظ استوديوهات الألعاب بأصولها الفنية الضخمة في Perforce، لكن C++ تعيش في Git في كل مكان آخر تقريبًا، من البرامج الثابتة (firmware) للأجهزة المدمجة إلى المترجمات مفتوحة المصدر.ابدأصفحة مخصصة
  4. 4
    ابدأ هذه الخطوةابدأالتصفية، والترتيب، والربط (joins)، والتجميع، والدوال التجميعية، والاستعلامات الفرعية، وعبارات WITH، ودوال النافذة (window functions)، على جداول حقيقية. تظهر SQL في عالم C++ أقل مما تظهر في لغات الويب، لكنها تظهر: SQLite، المحرك الذي تعمل عليه هذه الدروس، مكتوب بلغة C ومدمج في عدد لا يُحصى من تطبيقات سطح المكتب والهاتف، وأنظمة التداول والقياس عن بُعد (telemetry) تحفظ سجلها التاريخي في قواعد بيانات، ومقابلات هندسة البرمجيات العامة تتضمن أحيانًا استعلامًا.ابدأصفحة مخصصة
  5. 5
    ابدأ هذه الخطوةابدأالمكدس والطابور والقائمة المترابطة والشجرة الثنائية وجدول التجزئة، كل واحد منها يُكتب من الصفر بلغة C++ ثم يُستخدم في حل المسائل. هنا تصبح مؤشرات الخطوة الأولى حقيقية: كل عقدة تحجزها باستخدام new يجب أن تُحرَّر باستخدام delete أو أن يملكها std::unique_ptr، وهادم الشجرة هو التعاود في التطبيق العملي. وبعد ذلك يصبح الاختيار بين std::vector وstd::list وstd::unordered_map قرارًا يتعلق بالتكلفة، لا بالعادة.ابدأ
  6. 6
    ابدأ هذه الخطوةابدأتحديات التعاود، ثم خوارزميات الترتيب بلغة C++: الفقاعي والاختياري والإدراجي والدمج والسريع، وتراها متحركة في أداة تصوير الخوارزميات على Coddy. وبعدها تصبح حقيقتان في C++ أوضح: التعاود الذي يتعمق أكثر من اللازم يتسبب في فيض مكدس الاستدعاءات ويؤدي في الغالب إلى انهيار البرنامج على الفور، دون أي استثناء يمكن التقاطه، وstd::list تملك دالة sort() خاصة بها لأن std::sort تحتاج إلى مكرِّرات وصول عشوائي لا تستطيع القائمة المترابطة توفيرها.ابدأ
  7. 7
    ابدأ هذه الخطوةابدأمشروع كائني التوجه تبنيه من أوله إلى آخره وبنك من مسائل البرمجة، وكلاهما بلغة C++. في C++ يشمل الكود المقروء ملكية واضحة: من يحجز، ومن يحرر، وأي مرجع يجوز أن يبقى بعد زوال أي كائن. ومراجعة كود C++ تعود إلى هذا مرة بعد مرة.ابدأ
ما الذي تحصل عليه
كل ما ستستخدمه لتتعلّم البرمجة

Learn by Doing

Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.

playground.js
Code Editor
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Input
"Alex"
Output
"Hello, Coddy! Alex"

Build Your Coding Streak

Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.

12 days streak

Return tomorrow to keep your streak!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Double or Nothing

Day 5 of 7

fire Freeze icon

Streak Freeze

2 left

Code Anywhere, Anytime

Take your coding journey on the go! No setup, no downloads - just open and start coding. Available on iOS, Android and Web with 4.9 star ratings.

Python
7Streak
250Score
5Energy
Variables
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
CONTINUE
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Journey
Goals
Leaderboard
Profile
4.9
StarStarStarStarStar
Rating

You're Not Alone in This

Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!

Challenger League
Challenger LeagueTop 7 advance
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconPromotion zoneleaderboard Arrow Up icon

Every way to learn

Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.

Intro to Variables
Audio

A variable is a named container that stores a value you can reference later in your program.

In Python, you create one by writing the name, an equals sign, then the value you want to store.

The value can change over time - reassigning the name simply points it to a new value.

1xSarah

Prove Your Skills

Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.

CoddyCertificate of Completion
This certifies thatJohn Doehas successfully completed
python iconPython Fundamentals
Verified
DateJan 2026
LinkedInAdd to LinkedIn

لماذا تتبع خارطة طريق C++ هذه على Coddy

  • مصمَّمة للوظائف التي تُختار لها C++. محركات الألعاب، وأنظمة التداول، والمتصفحات، وقواعد البيانات، والأجهزة المدمجة، والحوسبة عالية الأداء هي المجالات التي تُختار فيها C++ لتحكّمها في السرعة والذاكرة، وكل دور من هذه الأدوار يتوقع منك أن تعرف ما يكلّفه كودك. وخارطة الطريق هذه تبني ذلك انطلاقًا من اللغة نفسها.
  • الذاكرة تُدرَّس ولا تُخفى. يغطي مساق C++ المؤشرات باستخدام new وdelete، ثم ذاكرة المكدس مقابل ذاكرة الكومة، والمؤشرات الذكية وRAII، ومُنشئات النسخ والنقل، وقاعدة الثلاثة والخمسة والصفر: وهي الموضوعات التي تعود إليها مقابلات C++ مرة بعد مرة.
  • هياكل بيانات تملك ذاكرتها. القائمة المترابطة والشجرة الثنائية في الخطوة الخامسة عُقد تحجزها وتحررها بنفسك، لذا فإن تسرّب الذاكرة أو المؤشر المعلّق شيء تنقّحه لا شيء تقرأ عنه. وتحديات التعاود وخوارزميات الترتيب الخمس بلغة C++ أيضًا.
  • تصحيح، ومساعدة في أخطاء المترجم. ينتهي كل درس بتحدٍّ بلغة C++ تصحّحه حالات اختبار، وحين يرفض المترجم أو أحد الاختبارات كودك، يوجّهك Bugsy نحو الإصلاح دون أن يكتبه لك. ومعظم المساقات تنتهي بشهادة مجانية، ولا يوجد مترجم أو سلسلة أدوات (toolchain) عليك تثبيتها.

أسئلة شائعة حول أن تصبح مطور C++

كم يستغرق أن تصبح مطور C++؟

وقتًا أطول مما تتطلبه معظم اللغات: من تسعة إلى ثمانية عشر شهرًا، بمعدل ساعة يوميًا تقريبًا، نطاق واقعي للانتقال من الصفر إلى مقابلة تقنية لوظيفة مطور C++ مبتدئ. مساق C++ نفسه يستغرق نحو شهرين بهذه الوتيرة، وقسم البرمجة كائنية التوجه فيه، بما يضمه من إدارة الذاكرة والقوالب ودلالات النقل، هو الجزء الذي ينبغي أن تأخذه ببطء؛ ويضيف سطر الأوامر وGit وSQL نحو شهر؛ وتضيف هياكل البيانات والترتيب شهرين أو ثلاثة. ثم تضيف الأدوار المتخصصة مجالها: محرك ألعاب، أو منظومة تداول، أو متحكم دقيق.

هل C++ لغة أولى جيدة لمهندس البرمجيات؟

إنها لغة أولى متطلّبة. تتعلم بها كيف تعمل الذاكرة والأنواع والترجمة حقًا، وهذا يجعل كل لغة لاحقة أسهل، لكنك تدفع ثمن ذلك تقدّمًا أبطأ وأخطاءً أقسى في البداية. إن كنت تعرف مسبقًا أنك تريد العمل في الألعاب أو الأنظمة أو البرمجيات المدمجة، فالبدء بلغة C++ خيار معقول؛ وإن لم تكن متأكدًا، فكثيرون يتعلمون Python أولًا ثم ينتقلون إلى C++، وصفحة مسار مهندس البرمجيات هي خارطة الطريق هذه نفسها بلغة Python.

ماذا يحتاج مطور C++ أن يعرف إلى جانب C++؟

سطر الأوامر وGit وSQL، وهي ما تغطيه خارطة الطريق هذه، ثم سلسلة الأدوات المحيطة باللغة: نظام بناء، وهو CMake في الغالب؛ ومنقّح أخطاء (debugger) مثل GDB أو LLDB؛ وأدوات sanitizers التي تلتقط أخطاء الذاكرة أثناء التشغيل؛ ومدير حزم مثل vcpkg أو Conan. بعد ذلك يأتي المجال الذي تستهدفه، سواء كان محرك ألعاب، أو البنية الداخلية لأنظمة التشغيل، أو الشبكات، أو العتاد المدمج.

C++ أم Rust لمسيرة مهنية في برمجة الأنظمة؟

لغة C++ لحجم سوق العمل القائم، ولغة Rust لحصة متنامية من المشاريع الجديدة. محركات الألعاب وأنظمة التداول والمتصفحات والمترجمات هي في معظمها قواعد كود مكتوبة بلغة C++ وطويلة العمر، بينما تكسب Rust أرضًا في البنية التحتية الجديدة والكود الحساس أمنيًا، لأن مترجمها يستبعد فئات كاملة من أخطاء الذاكرة. وتعلّم C++ أولًا يجعل قواعد Rust تبدو مألوفة، وخارطة الطريق هذه متاحة بلغة Rust أيضًا.

أي مساق في خارطة الطريق هذه لا يُدرَّس بلغة C++؟

مساق واحد: الكود النظيف لا يُدرَّس حتى الآن إلا بلغة Python، لذا تجده مدرجًا بعد الخطوات، لا في الخطوة السابعة. وموضوعه، أي التسمية والدوال الصغيرة والمسؤوليات الواضحة، لا يرتبط بلغة بعينها، وإرشادات C++ Core Guidelines تطبّق التفكير نفسه على C++ بعد أن تنهي المساق. وكل الخطوات بلغة C++، بما فيها المشروع كائني التوجه ومسائل البرمجة.

هل خارطة طريق C++ هذه مجانية؟

نعم. كل مساق فيها مجاني: الدروس، ومترجم C++ وطرفية Linux داخل متصفحك، والتحديات التي تُصحَّح بالاختبارات، وتلميحات Bugsy، والشهادات. يرفع اشتراك Pro الحد اليومي للطاقة ويتيح مساعدة ذكاء اصطناعي بلا حدود، ولا شيء في خارطة الطريق هذه يتطلبه.

مسارات تعليمية أخرى

الدورات نفسها مرتّبة لدور مختلف. يُحفَظ التقدّم: الدورة المُنجَزة في مسار تُحتسب في كل مسار يتضمّنها.

كل المسارات التعليمية
Coddy programming languages illustration

ابدأ مسار مهندس برمجيات مجانًا

ابدأ التعلّم