
Formation C++
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.
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.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondamentaux du C++ et configuration de l'environnement
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 2MasquerCacher les détailsVoir les détailsFlux de contrôle et fonctions
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 3MasquerCacher les détailsVoir les détailsTableaux, pointeurs et mémoire
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 4MasquerCacher les détailsVoir les détailsProgrammation orientée objet en C++
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 5MasquerCacher les détailsVoir les détailsLa bibliothèque standard de modèles
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 6MasquerCacher les détailsVoir les détailsModèles et programmation générique
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 7MasquerCacher les détailsVoir les détailsFonctionnalités et idiomes C++ modernes
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 8MasquerCacher les détailsVoir les détailsGestion des erreurs, tests et performances
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.
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...

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 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




















