Choisissez votre langue
Cours de langage C++
Plus de 2 millions d'apprenants dans le monde

Cours de langage C++

Maîtrisez C++ depuis les bases et écrivez le type de code haute performance qui alimente les systèmes d'exploitation, les moteurs de jeu et les appareils embarqués. Ce cours couvre tout, de la syntaxe de base et de la gestion de la mémoire aux templates, à la concurrence et aux fonctionnalités modernes de C++20. Vous terminerez avec les compétences et les outils que les développeurs C++ professionnels utilisent chaque jour.

Dedika pour entreprises

Ce que vous allez apprendre:

Vous commencerez par configurer un environnement de développement professionnel et comprendre comment les programmes C++ se compilent et s'assemblent. De là, vous travaillerez sur les types de données, le contrôle de flux, les pointeurs et la mémoire dynamique avant d'aborder la conception orientée objet et la programmation générique avec les templates. Le cours couvre la bibliothèque standard C++ en profondeur, y compris les conteneurs, les algorithmes et les utilitaires modernes. Vous apprendrez également la concurrence avec les threads et les atomiques, les stratégies de gestion des erreurs et les techniques de profilage des performances. À la fin, vous saurez structurer des projets multi-fichiers avec CMake, écrire des tests unitaires avec Google Test et appliquer des patrons de conception utilisés dans les bases de code de production.

Comment vous étudiez de façon pratique Cours de langage C++

Comment vous pratiquez Cours de langage C++

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.

Cliquez ici

Contenu du cours

8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Fondations C++ et configuration de l'environnement

  • Leçon 1 • Entrée, sortie et débogage de base

    Présente std::cin et std::cout pour les entrées-sorties console et le débogage de base avec des instructions d'affichage et les diagnostics du compilateur. Développe des habitudes pour un développement itératif.

  • Leçon 2 • Pipeline de compilation et d'édition de liens

    Explique le prétraitement, la compilation, l'assemblage et l'édition de liens comme des étapes distinctes. Les apprenants tracent comment les fichiers source deviennent des exécutables binaires.

  • Leçon 3 • Configuration de l'environnement de développement

    Installe et configure les compilateurs, les éditeurs et les outils de build sur les principales plateformes. Garantit que chaque apprenant dispose d'un espace de travail reproductible avant d'écrire du code.

  • Leçon 4 • Structure d'un programme C++

    Dissèque l'anatomie d'un fichier source C++ minimal, y compris les en-têtes, la fonction main et les espaces de noms. Relie les règles de syntaxe au modèle de compilation.

  • Leçon 5 • Histoire et philosophie de conception du C++

    Retrace les origines du C++ à partir de C et Simula, en mettant en évidence l'abstraction sans surcoût et le contrôle bas niveau. Fournit un contexte pour les décisions de conception rencontrées tout au long de la formation.

Chapitre 2Voir les détails

Types de données, variables et opérateurs fondamentaux

  • Leçon 1 • Opérateurs arithmétiques et binaires

    Explore les opérateurs arithmétiques, modulo, d'incrémentation et binaires avec les règles de précédence. Les apprenants appliquent des opérateurs pour résoudre des problèmes numériques et de manipulation de bits.

  • Leçon 2 • Déclaration et initialisation de variables

    Distingue les formes d'initialisation par défaut, par valeur, par copie et directe. Met l'accent sur l'initialisation uniforme avec accolades pour éviter les conversions restrictives.

  • Leçon 3 • Expressions, instructions et comportement indéfini

    Définit les points de séquence, les catégories de valeurs et les sources courantes de comportement indéfini. Développe des habitudes de codage disciplinées dès le départ.

  • Leçon 4 • Conversions de type et transtypage

    Explique la promotion implicite, la restriction et les transtypages C++ explicites. Les apprenants apprennent à convertir des types en toute sécurité sans comportement indéfini.

  • Leçon 5 • Types fondamentaux et tailles

    Couvre les types entiers, virgule flottante, caractère et booléen avec leurs tailles et plages. Relie le choix du type à l'efficacité mémoire et à la correction.

Chapitre 3Voir les détails

Flux de contrôle et fonctions

  • Leçon 1 • Récursivité et considérations sur la pile

    Applique la récursivité à des problèmes classiques et analyse la profondeur de la pile et les modèles de récursion terminale. Les apprenants équilibrent l'élégance avec les limitations pratiques de la pile.

  • Leçon 2 • Instructions conditionnelles

    Couvre les chaînes if-else, switch-case et l'opérateur ternaire avec les règles de traversée. Les apprenants sélectionnent la construction appropriée pour chaque scénario de décision.

  • Leçon 3 • Boucles et itération

    Présente les boucles for, while, do-while et for basée sur une plage avec break et continue. Les apprenants choisissent les boucles en fonction du modèle d'itération et de la condition de terminaison.

  • Leçon 4 • Surcharge de fonctions et name mangling

    Explique comment le compilateur résout les appels de fonction surchargés et génère des noms déformés. Les apprenants écrivent des surcharges non ambiguës et maintenables.

  • Leçon 5 • Déclaration et définition de fonctions

    Enseigne les signatures de fonctions, les types de retour, les déclarations anticipées et la pile d'appels. Relie la conception de fonctions à la réutilisation du code et à la maintenabilité.

Chapitre 4Voir les détails

Pointeurs, références et gestion de la mémoire

  • Leçon 1 • Pointeurs intelligents et propriété

    Présente unique_ptr, shared_ptr et weak_ptr comme des wrappers RAII qui automatisent la gestion de la mémoire. Les apprenants remplacent les pointeurs propriétaires bruts par des alternatives sûres.

  • Leçon 2 • Références et leur sémantique

    Distingue les références lvalue des pointeurs et introduit les références rvalue pour la sémantique de déplacement. Les apprenants utilisent les références pour écrire du code efficace et sûr pour les alias.

  • Leçon 3 • Erreurs de mémoire courantes et sanitizers

    Identifie les pointeurs pendants, les dépassements de tampon, les use-after-free et les erreurs de double suppression. Les apprenants utilisent AddressSanitizer et Valgrind pour détecter et corriger les bugs.

  • Leçon 4 • Pointeurs et arithmétique d'adresses

    Introduit la déclaration de pointeur, le déréférencement, les pointeurs nuls et l'arithmétique de pointeurs. Relie l'adressage bas niveau au parcours de tableaux et à la performance.

  • Leçon 5 • Allocation dynamique de mémoire

    Couvre new, delete, new[] et delete[] avec les concepts de disposition du tas et de fragmentation. Les apprenants allouent et libèrent la mémoire sans fuites ni doubles libérations.

Chapitre 5Voir les détails

Programmation orientée objet en C++

  • Leçon 1 • Polymorphisme et fonctions virtuelles

    Explique la répartition virtuelle, les vtables, les fonctions virtuelles pures et les classes abstraites. Les apprenants écrivent du code extensible qui suit le principe ouvert-fermé.

  • Leçon 2 • Classes, structures et encapsulation

    Définit la syntaxe des classes et des structures, les spécificateurs d'accès et les fonctions membres. Les apprenants encapsulent les données pour appliquer des invariants et cacher les détails d'implémentation.

  • Leçon 3 • Constructeurs, destructeurs et la règle des cinq

    Couvre les constructeurs par défaut, paramétrés, par copie et par déplacement ainsi que les destructeurs. Les apprenants appliquent la règle des cinq pour gérer correctement les ressources.

  • Leçon 4 • Surcharge d'opérateurs

    Surcharge les opérateurs arithmétiques, de comparaison, de flux et d'indice pour les types définis par l'utilisateur. Les apprenants suivent les conventions qui rendent les opérateurs surchargés intuitifs.

  • Leçon 5 • Héritage et hiérarchies de classes

    Implémente l'héritage simple et multiple avec le contrôle d'accès à la classe de base. Les apprenants conçoivent des hiérarchies qui favorisent la réutilisation du code sans couplage serré.

Chapitre 6Voir les détails

Modèles et programmation générique

  • Leçon 1 • Modèles de classe

    Définit des modèles de classe avec des fonctions membres, une spécialisation partielle et des paramètres par défaut. Les apprenants construisent des conteneurs génériques basés sur des modèles de la bibliothèque standard.

  • Leçon 2 • Notions de base de la métaprogrammation de modèles

    Utilise les traits de type, if constexpr et le calcul à la compilation pour spécialiser le comportement. Les apprenants optimisent les chemins de code sans surcharge à l'exécution.

  • Leçon 3 • Modèles variadiques et packs de paramètres

    Développe les packs de paramètres avec les expressions fold pour gérer un nombre arbitraire d'arguments. Les apprenants implémentent des wrappers de transfert et des utilitaires variadiques type-safe.

  • Leçon 4 • Modèles de fonction

    Introduit la syntaxe des modèles de fonction, la déduction de type et l'instanciation explicite. Les apprenants remplacent les fonctions dupliquées spécifiques à un type par une seule version générique.

  • Leçon 5 • Concepts et contraintes (C++20)

    Applique les clauses requires et les concepts standards pour contraindre les paramètres de modèle. Les apprenants produisent des messages d'erreur plus clairs et des interfaces génériques auto-documentées.

Chapitre 7Voir les détails

La bibliothèque standard C++

  • Leçon 1 • Utilitaires : Optional, Variant et Span

    Utilise std::optional, std::variant, std::any et std::span pour exprimer des types nullable, somme et vue. Les apprenants éliminent les bugs de pointeur nul et les unions dangereuses.

  • Leçon 2 • Algorithmes standard

    Applique les algorithmes de tri, recherche, transformation et partitionnement depuis <algorithm>. Les apprenants remplacent les boucles écrites à la main par des appels de bibliothèque expressifs et testés.

  • Leçon 3 • Chaînes, vues de chaînes et formatage

    Couvre les opérations std::string, std::string_view pour un accès non propriétaire et std::format pour une sortie type-safe. Les apprenants traitent le texte efficacement sans copies inutiles.

  • Leçon 4 • Itérateurs et plages

    Explique les catégories d'itérateurs, les algorithmes basés sur les plages et les plages et vues C++20. Les apprenants composent des pipelines paresseux qui traitent les données sans copies intermédiaires.

  • Leçon 5 • Conteneurs séquentiels et associatifs

    Compare vector, deque, list, map, unordered_map, set et leurs profils de performance. Les apprenants sélectionnent les conteneurs en fonction du modèle d'accès et des exigences de complexité.

Chapitre 8Voir les détails

Techniques C++ avancées et bonnes pratiques

  • Leçon 1 • Sémantique de déplacement et catégories de valeurs

    Approfondit la compréhension des références rvalue, de std::move et des types déplaçables uniquement. Les apprenants éliminent les copies inutiles dans les chemins de code critiques pour la performance.

  • Leçon 2 • Lambdas et modèles fonctionnels

    Définit la syntaxe lambda, les modes de capture, les lambdas génériques et std::function. Les apprenants composent des fonctions d'ordre supérieur et des rappels avec un minimum de code passe-partout.

  • Leçon 3 • Stratégies de gestion des erreurs

    Compare les exceptions, les codes d'erreur, std::expected et les assertions pour communiquer les échecs. Les apprenants choisissent des stratégies qui équilibrent sécurité, performance et clarté.

  • Leçon 4 • Profilage, optimisation et comportement indéfini

    Profile avec perf et gprof, applique les optimisations du compilateur et élimine le comportement indéfini à l'aide de sanitizers. Les apprenants ajustent le code en fonction des données mesurées.

  • Leçon 5 • Concurrence avec threads et atomiques

    Lance des threads, synchronise avec des mutex et des variables de condition, et utilise des atomiques pour des modèles sans verrou. Les apprenants écrivent des programmes concurrents sans data race.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Étudiants en informatique : désireux d'aller au-delà du scripting vers la programmation système.

  • Développeurs de jeux : souhaitant un contrôle direct du matériel pour un code de moteur critique en performance.

  • Ingénieurs embarqués : ayant besoin d'écrire un micrologiciel efficace pour des appareils aux ressources limitées.

  • Développeurs Python ou Java : prêts à comprendre ce qui se passe sous les environnements d'exécution gérés.

  • Programmeurs autodidactes : cherchant à combler les lacunes et à construire une base rigoureuse en C++.

  • Personnes en reconversion professionnelle : visant des rôles dans la robotique, l'automobile ou les logiciels de trading haute fréquence.

Ce que disent nos apprenants

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika ?

Le certificat est-il valable en Côte d’Ivoire ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail du cours ?

Comment sont les cours ?

Comment fonctionnent les cours ?

Quelle est la durée des cours ?

Quel est le coût ou le prix des cours ?

Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?

Cours PDF