Choisissez votre langue
Formation C++
Plus de 2 millions d'étudiants dans le monde

Formation C++

4,6

Maîtrisez le C++ de A à Z — de la syntaxe de base et de la gestion de la mémoire aux modèles, à la concurrence et aux fonctionnalités modernes de C++23. Ce cours offre la profondeur technique et la pratique nécessaires pour écrire du code C++ rapide, sûr et de qualité professionnelle. Que vous visiez la programmation système, le développement embarqué ou les applications haute performance, c'est l'ensemble de compétences complet dont vous avez besoin.

Dedika pour les entreprises

Ce que vous allez apprendre:

Vous construirez une base solide dans la syntaxe du C++, le contrôle de flux et les fonctions avant de progresser vers les pointeurs, la gestion de la mémoire et la programmation orientée objet. Vous maîtriserez la bibliothèque standard de modèles, écrirez du code générique avec des modèles et appliquerez des fonctionnalités modernes comme les lambdas, la sémantique de déplacement et les liaisons structurées. Le cours couvre également la gestion des erreurs, les tests unitaires, le profilage des performances, les systèmes de construction avec CMake et les pratiques professionnelles, y compris la gestion de versions et la revue de code. À la fin, vous aurez les compétences nécessaires pour développer des logiciels C++ de qualité production dans un large éventail de domaines.

Comment vous étudiez de façon pratique Formation C++

Comment vous pratiquez Formation 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

Fondamentaux du C++ et configuration de l'environnement

  • Leçon 1 • Variables, types et littéraux

    Présente les types de données fondamentaux, la déclaration de variables et les valeurs littérales. Construit le vocabulaire nécessaire à toute future manipulation de données.

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

    Installer les compilateurs, IDE et outils de build pour le développement C++. Fournit les fondations techniques dont dépend chaque chapitre suivant.

  • Leçon 3 • Opérateurs et expressions

    Explore les opérateurs arithmétiques, relationnels, logiques et binaires. Les règles de précédence des opérateurs sont appliquées pour écrire des expressions correctes.

  • Leçon 4 • Syntaxe de base et structure du programme

    Couvre l'anatomie d'un fichier source C++, incluant les en-têtes, la fonction main et les instructions. Relie les règles syntaxiques à un code lisible et compilable.

  • Leçon 5 • Entrée et sortie avec iostream

    Enseigne les E/S console en utilisant cin et cout de la bibliothèque standard. Permet des programmes interactifs essentiels pour les premiers exercices.

Chapitre 2Voir les détails

Flux de contrôle et fonctions

  • Leçon 1 • Boucles et itération

    Présente les boucles for, while et do-while ainsi que les instructions de contrôle de boucle. Les motifs de répétition sous-tendent les algorithmes dans les chapitres suivants.

  • Leçon 2 • Portée, durée de vie et classes de stockage

    Explique la portée des variables locales, globales et statiques ainsi que la durée de vie des objets. Prévient les bugs courants causés par une visibilité mal comprise des variables.

  • Leçon 3 • Récursivité et surcharge de fonctions

    Introduit la résolution de problèmes récursive et les multiples signatures de fonctions avec le même nom. Prépare les étudiants à des motifs algorithmiques complexes.

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

    Enseigne comment déclarer, définir et appeler des fonctions avec des paramètres et des types de retour. Les fonctions sont l'unité principale de réutilisation du code en C++.

  • Leçon 5 • Instructions conditionnelles

    Couvre les constructions if, else-if, else et switch pour la prise de décision. Permet directement les programmes pilotés par la logique construits tout au long du cours.

Chapitre 3Voir les détails

Tableaux, pointeurs et mémoire

  • Leçon 1 • Allocation mémoire dynamique

    Enseigne l'allocation sur le tas avec new et la désallocation avec delete. Une gestion correcte des ressources ici prévient les fuites mémoire dans tous les programmes futurs.

  • Leçon 2 • Tableaux et chaînes de style C

    Couvre les tableaux de taille fixe, les tableaux multidimensionnels et les chaînes terminées par un caractère nul. Établit les structures de données bas niveau sur lesquelles les pointeurs s'appuient.

  • Leçon 3 • Références et const-correctness

    Distingue les références des pointeurs et impose l'utilisation de const pour la sécurité. La const-correctness est une norme de codage C++ professionnelle.

  • Leçon 4 • Aperçu des pointeurs intelligents

    Présente unique_ptr, shared_ptr et weak_ptr comme alternatives plus sûres aux pointeurs bruts. Fait le pont entre la gestion manuelle de la mémoire et les idiomes C++ modernes.

  • Leçon 5 • Bases des pointeurs

    Présente la déclaration de pointeur, l'opérateur d'adresse et le déréférencement. Les pointeurs sont centraux pour la mémoire dynamique et les fonctionnalités orientées objet à venir.

Chapitre 4Voir les détails

Programmation orientée objet en C++

  • Leçon 1 • Polymorphisme et fonctions virtuelles

    Implémente le polymorphisme d'exécution via des fonctions virtuelles et des classes abstraites. Permet des conceptions flexibles et extensibles, centrales pour les grandes bases de code C++.

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

    Modélise les relations « est-un » en utilisant l'héritage simple et multiple. Établit la structure hiérarchique requise pour le polymorphisme.

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

    Permet aux types personnalisés d'utiliser les opérateurs standard de manière naturelle et expressive. Renforce l'encapsulation en gardant la logique à l'intérieur de la classe.

  • Leçon 4 • Constructeurs, destructeurs et initialisation

    Enseigne la gestion du cycle de vie des objets via les constructeurs et destructeurs. Une initialisation correcte prévient les comportements indéfinis dans les programmes complexes.

  • Leçon 5 • Classes et objets

    Couvre la définition de classe, les membres de données, les fonctions membres et les spécificateurs d'accès. Les classes sont le principal mécanisme d'abstraction en C++.

Chapitre 5Voir les détails

La bibliothèque standard de modèles

  • Leçon 1 • Gestion des chaînes avec std::string

    Couvre les opérations, la manipulation et les utilitaires de conversion de std::string. Remplace les chaînes de style C dangereuses par une alternative sûre et riche en fonctionnalités.

  • Leçon 2 • Algorithmes de la STL

    Applique les algorithmes de tri, recherche, transformation et accumulation de <algorithm>. Remplace les boucles manuelles sujettes aux erreurs par des expressions concises.

  • Leçon 3 • Conteneurs associatifs et non ordonnés

    Présente map, set, unordered_map et unordered_set pour un accès par clé. Permet des motifs de recherche rapide utilisés dans les applications du monde réel.

  • Leçon 4 • Conteneurs séquentiels

    Couvre vector, list, deque et array pour le stockage ordonné des données. Choisir le bon conteneur impacte directement les performances du programme.

  • Leçon 5 • Itérateurs et plages

    Explique les catégories d'itérateurs, les motifs de parcours et les opérations basées sur les plages. Les itérateurs sont l'interface universelle entre les conteneurs et les algorithmes.

Chapitre 6Voir les détails

Modèles et programmation générique

  • Leçon 1 • Concepts et contraintes en C++20

    Applique les concepts C++20 pour contraindre les paramètres de modèle avec des exigences lisibles. Produit des messages d'erreur plus clairs et des interfaces auto-documentées.

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

    Introduit le calcul à la compilation en utilisant les traits de type et constexpr. Permet des abstractions à coût nul et une validation à la compilation.

  • Leçon 3 • Modèles de fonctions

    Introduit la syntaxe de modèle pour écrire des fonctions génériques avec des paramètres de type. Élimine la duplication de code tout en préservant une sécurité de type totale.

  • Leçon 4 • Modèles de classes

    Étend les modèles aux classes, permettant des conteneurs et utilitaires génériques. Sous-tend les conteneurs de la STL étudiés dans le chapitre précédent.

  • Leçon 5 • Modèles variadiques

    Couvre les packs de paramètres et les expressions de repli pour les modèles à nombre variable d'arguments. Permet des API flexibles comme std::tuple et les utilitaires de journalisation.

Chapitre 7Voir les détails

Fonctionnalités et idiomes C++ modernes

  • Leçon 1 • Décompositions structurées et std::optional

    Introduit les décompositions structurées pour la décomposition de type tuple et optional pour les valeurs nullables. Réduit le code passe-partout et exprime clairement l'intention.

  • Leçon 2 • std::variant et std::any

    Couvre les unions type-safe avec std::variant et le stockage à type effacé avec std::any. Remplace les unions C dangereuses et les pointeurs void dans le code moderne.

  • Leçon 3 • Fondamentaux de la concurrence avec std::thread

    Introduit la création de threads, les primitives de synchronisation et la prévention des courses de données. Prépare les étudiants au développement d'applications multi-threadées.

  • Leçon 4 • Sémantique de déplacement et références rvalue

    Explique les références rvalue, les constructeurs de déplacement et l'affectation par déplacement pour la performance. Élimine les copies inutiles dans les programmes gourmands en ressources.

  • Leçon 5 • Expressions lambda et fermetures

    Couvre la syntaxe lambda, les listes de capture et l'utilisation avec les algorithmes de la STL. Permet des objets fonction concis et en ligne sans code passe-partout.

Chapitre 8Voir les détails

Gestion des erreurs, tests et performances

  • Leçon 1 • Profilage et analyse des performances

    Applique des outils de profilage pour identifier les goulots d'étranglement et mesurer le temps d'exécution. L'optimisation pilotée par les données évite les réglages prématurés et malavisés.

  • Leçon 2 • Test unitaire en C++

    Présente les frameworks de test, la conception de cas de test et le workflow de développement piloté par les tests. Les tests automatisés vérifient la correction du code à mesure qu'il évolue.

  • Leçon 3 • Assertions et programmation défensive

    Utilise assert, static_assert et les vérifications de préconditions pour détecter les bugs précocement. Les techniques défensives réduisent le temps de débogage dans les grandes bases de code.

  • Leçon 4 • Techniques d'optimisation

    Couvre les dispositions mémoire adaptées au cache, les améliorations algorithmiques et les indications de compilation. Applique les résultats du profilage pour atteindre des accélérations mesurables.

  • Leçon 5 • Gestion des exceptions

    Couvre la syntaxe try-catch-throw, les hiérarchies d'exceptions et la conception de code exception-safe. Une propagation correcte des erreurs est obligatoire dans les logiciels C++ professionnels.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Étudiant en informatique : désireux d'aller au-delà du pseudo-code vers des langages du monde réel.

  • Développeur Python ou JavaScript : prêt à comprendre ce qui se passe sous l'abstraction.

  • Aspirant développeur de jeux : ayant besoin du contrôle bas niveau que le C++ offre de manière unique.

  • Ingénieur en électricité : cherchant à écrire du firmware et des pilotes avec des outils linguistiques modernes.

  • Personne en reconversion professionnelle : visant des postes très rémunérés en programmation système depuis un parcours non informatique.

  • Passionné de bricolage : voulant programmer des microcontrôleurs et des appareils embarqués plus efficacement.

Ce que disent nos élèves

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 au Maroc ?

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