
Cours de langage C++
Maîtrise C++ à partir de zéro et écris le genre de code haute performance qui alimente les systèmes d'exploitation, les moteurs de jeu et les dispositifs embarqués. Ce cours couvre tout, de la syntaxe de base et la gestion de la mémoire aux modèles, à la concurrence et aux fonctionnalités modernes de C++20. Tu termineras avec les compétences et les outils que les développeurs C++ professionnels utilisent chaque jour.
Ce que vous allez apprendre:
Tu commenceras par configurer un environnement de développement professionnel et comprendre comment les programmes C++ sont compilés et liés. De là, tu travailleras sur les types de données, le contrôle de flux, les pointeurs et la mémoire dynamique avant de passer à la conception orientée objet et à la programmation générique avec les modèles. Le cours couvre en profondeur la bibliothèque standard C++, y compris les conteneurs, les algorithmes et les utilitaires modernes. Tu apprendras aussi la concurrence avec les fils d'exécution et les atomiques, les stratégies de gestion des erreurs et les techniques de profilage de performance. À la fin, tu sauras comment structurer des projets multifichiers 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 entreprises, le cours inclut des exercices et des exemples adaptés à votre propre entreprise et à ses besoins spécifiques.
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 du C++ et configuration de l'environnement
Fondations du 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 des diagnostics du compilateur. Développe des habitudes pour le 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 en tant qu'étapes distinctes. Les étudiants retracent 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 construction sur les principales plateformes. S'assure que chaque étudiant 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 principale 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 du C et de Simula, en mettant en évidence l'abstraction sans surcoût et le contrôle au niveau système. Fournit le contexte des décisions de conception rencontrées tout au long du cours.
Chapitre 2MasquerCacher les détailsVoir les détailsTypes de données fondamentaux, variables et opérateurs
Types de données fondamentaux, variables et opérateurs
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 étudiants appliquent des opérateurs pour résoudre des problèmes numériques et de manipulation de bits.
Leçon 2 • Déclaration et initialisation des variables
Fait la distinction entre les formes d'initialisation par défaut, par valeur, par copie et directe. Met l'accent sur l'initialisation uniforme par accolades pour empêcher les conversions rétrécissantes.
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, le rétrécissement et les conversions explicites en C++. Les étudiants 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ères et booléens avec leurs tailles et plages. Relie le choix du type à l'efficacité mémoire et à l'exactitude.
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 motifs d'appel terminal. Les étudiants é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 cascade. Les étudiants 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 étudiants choisissent les boucles en fonction du motif 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 fonctions surchargées et génère des noms manglés. Les étudiants écrivent des surcharges qui sont sans ambiguïté 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 et à la maintenabilité du code.
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 encapsulateurs RAII qui automatisent la gestion de la mémoire. Les étudiants remplacent les pointeurs de propriété 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 étudiants utilisent des références pour écrire du code efficace et sans alias.
Leçon 3 • Erreurs de mémoire courantes et sanitizers
Identifie les pointeurs pendants, les débordements de tampon, les use-after-free et les erreurs de double suppression. Les étudiants utilisent AddressSanitizer et Valgrind pour détecter et corriger les bogues.
Leçon 4 • Pointeurs et arithmétique d'adresse
Introduit la déclaration de pointeur, le déréférencement, les pointeurs nuls et l'arithmétique de pointeur. Relie l'adressage de bas niveau à la traversée de tableaux et aux performances.
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 étudiants allouent et libèrent de 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 étudiants é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 étudiants encapsulent les données pour appliquer des invariants et masquer 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, de copie et de déplacement ainsi que les destructeurs. Les étudiants 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 étudiants suivent des 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 contrôle d'accès à la classe de base. Les étudiants conçoivent des hiérarchies qui favorisent la réutilisation du code sans couplage fort.
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 étudiants construisent des conteneurs génériques modelés sur les motifs de la bibliothèque standard.
Leçon 2 • Notions de base sur la métaprogrammation de modèles
Utilise les traits de type, if constexpr et le calcul à la compilation pour spécialiser le comportement. Les étudiants optimisent les chemins de code sans surcoût à l'exécution.
Leçon 3 • Modèles variadiques et paquets de paramètres
Développe les paquets de paramètres avec des expressions de repli pour gérer un nombre arbitraire d'arguments. Les étudiants implémentent des encapsuleurs de transfert et des utilitaires variadiques sécurisés.
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 étudiants remplacent les fonctions spécifiques à un type dupliquées par une seule version générique.
Leçon 5 • Concepts et contraintes (C++20)
Applique les clauses requires et les concepts standard pour contraindre les paramètres de modèle. Les étudiants 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 les types nullables, somme et vue. Les étudiants éliminent les bogues de pointeur nul et les unions non sécurisées.
Leçon 2 • Algorithmes standard
Applique les algorithmes de tri, de recherche, de transformation et de partitionnement de <algorithm>. Les étudiants 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 sécurisée. Les étudiants manipulent 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 étudiants 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 étudiants sélectionnent les conteneurs en fonction du motif d'accès et des exigences de complexité.
Chapitre 8MasquerCacher les détailsVoir les détailsTechniques avancées C++ et meilleures pratiques
Techniques avancées C++ et meilleures 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 étudiants éliminent les copies inutiles dans les chemins de code critiques pour les performances.
Leçon 2 • Lambdas et motifs fonctionnels
Définit la syntaxe lambda, les modes de capture, les lambdas génériques et std::function. Les étudiants 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 étudiants 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 étudiants ajustent le code en fonction des données mesurées.
Leçon 5 • Concurrence avec les fils et les atomiques
Lance des fils, synchronise avec des mutex et des variables de condition, et utilise des atomiques pour les modèles sans verrou. Les étudiants écrivent des programmes concurrents sans courses aux données.
Votre certificat valide de réussite
Ce cours est pour vous :
Étudiants en informatique : désireux de passer du scriptage à la programmation système.
Développeurs de jeux : voulant un contrôle matériel direct pour le code moteur critique en performance.
Ingénieurs embarqués : ayant besoin d'écrire un micrologiciel efficace pour des dispositifs 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 à bâtir une base solide en C++.
Personnes en reconversion professionnelle : visant des postes en robotique, automobile ou logiciel de négociation à haute fréquence.
Ce que nos apprenants disent
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 à 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 il est présenté ainsi que la transcription des vidéos, 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 au Canada ?
Les cours sont-ils gratuits?
Quelle est la charge de travail des 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 fonctionne?
Cours PDF




















