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

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.

Dedika pour entreprises

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.

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 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 2Voir les détails

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 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 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 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 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 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 é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 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 é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 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 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 8Voir les détails

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.

Certification

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...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Numérique
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 il est présenté ainsi que la transcription des vidéos, 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 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