
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.
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.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondations C++ et configuration de l'environnement
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 2MasquerCacher les détailsVoir les détailsTypes de données, variables et opérateurs fondamentaux
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 3MasquerCacher les détailsVoir les détailsFlux de contrôle et fonctions
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 4MasquerCacher les détailsVoir les détailsPointeurs, références et gestion de la mémoire
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 5MasquerCacher les détailsVoir les détailsProgrammation orientée objet en C++
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 6MasquerCacher les détailsVoir les détailsModèles et programmation générique
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 7MasquerCacher les détailsVoir les détailsLa bibliothèque standard C++
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 8MasquerCacher les détailsVoir les détailsTechniques C++ avancées et bonnes pratiques
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.
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...

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.

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 !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

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




















