Apprendre C++: Cours Code
Apprendre C++: Cours Code — Écrivez, compilez et exécutez du code C++ depuis votre téléphone
Apprendre C++: Cours Code est une application gratuite iOS et Android pour les débutants, les étudiants en informatique et les développeurs qui souhaitent apprendre le C++ en écrivant du code. L’éditeur intégré envoie votre code à un vrai compilateur GCC et affiche la sortie ainsi que le code de sortie, tandis qu’un mentor IA transforme les erreurs du compilateur en explications claires. 51 cours et plus de 200 courtes leçons vous accompagnent de votre premier cout jusqu’aux classes, à la STL, à la move semantics et à C++20.
- Prix
- Gratuit, mise à niveau Pro
- Plateformes
- iOS et Android
- Langues
- 22
- Âge recommandé
- 4+
- Configuration requise
- iOS 15.1 ou version ultérieure
- App Store
- 4.9 ★ (7)


Les pointeurs ne font peur que jusqu’à la douzième leçon.
Le C++ a la réputation d’être impossible à apprendre, mais cela vient en grande partie du fait qu’on vous en présente tous les aspects d’un coup : ownership, heap, templates et STL dès le premier jour. Réparti sur 51 courts cours, le même contenu arrive couche par couche, et chaque notion se termine par du code que vous compilez et exécutez vous-même.
Ce que c’est
Apprendre C++: Cours Code est une application gratuite iOS et Android qui vous apprend le C++, de votre premier cout jusqu’aux classes, à la STL, à la move semantics et au C++20 moderne. Elle propose 51 cours et plus de 200 courtes leçons répartis en cinq parcours (bases, mémoire, objets, STL et création de vrais programmes), un éditeur qui compile avec un vrai compilateur GCC, 20 projets guidés, 60 missions de programmation et un mentor IA avec un traducteur d’erreurs.
Dans l’application
À quoi elle ressemble





Le cours
Ce que couvre le cours C++
51 cours issus du programme de l’application, allant du premier programme compilé à la programmation concurrente sans verrou et aux coroutines.
Syntaxe, chaînes et flux de contrôle
Configuration d’un compilateur et exécution d’un premier programme, puis variables et inférence de types, std::string par rapport aux tableaux de char de style C, flux d’entrée et de sortie, ainsi que les structures de contrôle que supposent tous les cours suivants.
Structures, vecteurs et mini-projets
Introduction aux structs et aux classes, travail avec les nombres et les mathématiques, vecteurs et tableaux dynamiques, passage par référence et petits projets pratiques qui réunissent ces éléments.
Mémoire, RAII et alternatives plus sûres aux pointeurs bruts
Modèle mémoire de la pile et du tas, RAII et gestion des ressources, gestion des exceptions et noexcept, correction const, utilisation sûre des pointeurs et pointeurs intelligents comme remplacement moderne de new et delete manuels.
Types modernes, conteneurs et conception orientée objet
Enums, unions et std::variant, std::optional et std::expected, std::string_view et std::span, conteneurs associatifs et hachage de unordered_map, héritage et polymorphisme, ainsi que surcharge des opérateurs pour les types définis par l’utilisateur.
Outils de compilation, E/S de fichiers et bibliothèque standard
Compilation avec CMake et gestion des paquets, E/S de fichiers avec fstream, bibliothèque chrono pour le temps et recherche de motifs avec l’en-tête regex : les éléments de C++ qui relient le code au système de fichiers et à l’horloge.
La STL et le C++ moderne, de C++11 à C++20
Tour d’horizon des changements apportés par C++11 à C++20, sémantique de déplacement et références rvalue, lambdas et std::function, algorithmes de la STL, itérateurs et ranges, ainsi que débogage avec des sanitizers.
Templates, performances et programmation système
Primitives de concurrence, spécialisation de templates et SFINAE, templates avancés et métaprogrammation, concepts de C++20, profilage des performances et conception de l’API publique d’une bibliothèque.
Concurrence avancée et coroutines
Programmation sans verrou et atomics pour les cas où un mutex est trop lent, ainsi que les coroutines de C++20, l’ajout le plus récent au langage, enseignées en dernier car tout ce qui précède est nécessaire pour les comprendre.
Fonctionnement
Comment se déroule une session C++
Chaque session associe une courte leçon à du code que vous exécutez, ainsi qu’à quelques exercices quotidiens qui vous permettent de garder la syntaxe en mémoire.
Lisez une courte leçon
Ouvrez un cours et suivez une seule leçon consacrée à une notion, comme une struct, une référence ou un smart pointer. Le premier cours est gratuit : vous pouvez ainsi découvrir le format des leçons avant de prendre une décision.
Écrivez, compilez et exécutez votre code
Saisissez le code dans l’éditeur mobile et exécutez-le. Un vrai compilateur GCC le construit et renvoie la sortie ainsi que le code de sortie ; les programmes qui lisent des données avec cin disposent d’un champ pour saisir les entrées. Comme le compilateur est distant, l’exécution du code nécessite une connexion.
Perfectionnez-vous avec les exercices quotidiens et le mentor IA
Prévoyez la sortie de cinq courts programmes, corrigez un programme défectueux dans la chasse quotidienne aux bugs ou jouez à Syntax Sprint pendant 60 secondes. Lorsqu’une erreur est incompréhensible, collez-la dans le mentor IA pour obtenir une explication en une phrase ainsi que la ligne à corriger.
Contenu
Ce que l’application propose
51
Cours et plus de 200 leçons
Une carte des cours les répartit en cinq parcours : bases, mémoire, objets, STL et création de vrais programmes. Les sujets vont des variables et des flux aux pointeurs, à la RAII et aux templates, puis à CMake, à la concurrence et aux coroutines.
GCC
Un vrai compilateur dans l’éditeur
Le code est construit par un vrai compilateur GCC, et non par un simulateur. Vous voyez la sortie et le code de sortie, pouvez fournir des entrées aux programmes qui lisent avec cin et relancer le code d’un simple toucher. Chaque programme que vous exécutez est sauvegardé.
3/jour
Trois habitudes de pratique quotidiennes
Prévoyez la sortie (cinq courts programmes par jour, répondez avant que le compilateur ne la détermine), participez à une chasse quotidienne aux bugs avec des indices gratuits et jouez à Syntax Sprint pendant 60 secondes avec des questions auxquelles répondre d’un simple toucher.
20
Projets guidés
Créez étape par étape de vrais programmes, comme un inventaire, un compte bancaire, des formes avec polymorphisme, une stack basée sur un template, une calculatrice RPN, une linked list et une machine à états.
IA
Mentor IA et traducteur d’erreurs
Bloqué sur un pointeur ou face à un mur d’erreurs de templates ? Collez l’erreur pour obtenir une explication en une phrase, ou posez n’importe quelle question au mentor IA en langage courant.
60
Missions et défi mondial
60 missions de programmation, de la plus facile à la plus difficile, un nouveau problème de programmation chaque jour et le World Coding Challenge, trois manches mondiales en direct par jour avec un classement, ainsi que des séries, des XP et des rappels.
Contexte
Pourquoi le C++ continue-t-il de faire fonctionner les logiciels qui ne peuvent pas se permettre d’être lents ?
Le C++ est compilé directement en code machine et donne au programmeur un contrôle direct de la mémoire : rien ne s’interpose donc entre le code et le matériel. C’est pourquoi des moteurs de jeu comme Unreal, des systèmes de trading à haute fréquence, des firmwares de robotique et de nombreux composants de systèmes d’exploitation sont encore écrits en C++, des décennies après l’apparition des langages de plus haut niveau. Ce même contrôle explique pourquoi le langage semble difficile au début : un programme C++ doit indiquer explicitement où se trouve une valeur et qui est chargé de la libérer, une tâche que Python ou JavaScript effectuent de manière invisible.
Stack vs. heaple modèle mémoire
La mémoire de la stack est libérée automatiquement dès qu’une fonction renvoie une valeur ; la mémoire du heap persiste jusqu’à ce qu’un élément la libère explicitement. De nombreux bugs rencontrés par les débutants, comme un pointeur pendant, une fuite mémoire ou un crash provoqué par l’accès à une mémoire libérée, sont dus au fait que ces deux zones sont confondues.
RAIIle filet de sécurité du C++
Resource Acquisition Is Initialization lie la durée de vie d’une ressource au constructeur et au destructeur d’un objet : la ressource est donc libérée automatiquement lorsque l’objet sort de sa portée. Les smart pointers appliquent la RAII à la mémoire, et cet idiome rend le C++ moderne bien plus sûr que le code utilisant des pointeurs bruts qu’il a remplacé.
La STLla boîte à outils du langage
La Standard Template Library regroupe des conteneurs comme vector, map et unordered_map, ainsi que des itérateurs et des algorithmes qui implémentent déjà le tri, la recherche et la transformation. Utiliser la STL plutôt que de recréer soi-même une linked list est le moment où le C++ cesse de ressembler à un travail manuel.
Templatesdu code qui fonctionne avec n’importe quel type
Un template permet à une fonction ou à une classe de fonctionner avec n’importe quel type que le compilateur peut résoudre à la compilation, sans coût à l’exécution. C’est le mécanisme qui se trouve derrière la STL elle-même et la raison pour laquelle les bibliothèques C++ peuvent être à la fois génériques et rapides.
Pour qui
À qui elle s’adresse — et à qui elle ne s’adresse pas
Cette application vous convient si vous
- Vous voulez aborder les difficultés de C++, les pointeurs, le tas et les templates, un élément à la fois plutôt que dans un manuel dense
- Vous êtes étudiant en informatique et suivez des cours qui supposent que vous maîtrisez la STL et les structures de données de base
- Vous vous dirigez vers le développement de jeux, l’embarqué ou la programmation système et avez besoin de vraiment comprendre le modèle mémoire
- Vous venez de Python ou de Java et voulez comprendre ce qui se passe en mémoire
- Vous préférez copier une véritable erreur de compilation dans un mentor IA plutôt que de chercher un message générique sur les forums
Ce n’est pas le bon outil si vous
- Vous devez exécuter du code sans connexion : les programmes sont compilés sur un compilateur GCC distant
- Vous avez besoin dès aujourd’hui d’une chaîne d’outils complète sur ordinateur, comme des projets CMake multi-fichiers, de grandes bibliothèques externes et un débogueur, qui sont conçus pour être utilisés sur un ordinateur
- Vous voulez accéder gratuitement aux 51 cours : le premier cours et une sélection d’exercices quotidiens sont gratuits, et Pro déverrouille les autres
- Vous travaillez déjà professionnellement en C++ et cherchez une référence plutôt qu’un cours progressif
Questions
Foire aux questions
Qu’est-ce que Apprendre C++: Cours Code ?
Apprendre C++: Cours Code est une application gratuite iOS et Android pour apprendre la programmation C++ grâce à de courtes leçons et à un éditeur de code intégré qui compile sur un véritable compilateur GCC. Elle s’adresse aux débutants, aux étudiants en informatique, aux développeurs de jeux et de systèmes, ainsi qu’à toute personne qui se prépare à un cours de programmation. L’interface est disponible en 22 langues.
Apprendre C++: Cours Code est-elle gratuite ?
Elle peut être téléchargée gratuitement sur l’App Store et Google Play, et son utilisation peut commencer gratuitement. Le premier cours, la série quotidienne Predict the output, le bug hunt quotidien, trois parties de Syntax Sprint par jour, le premier projet guidé, deux missions, le problème de programmation quotidien, le World Coding Challenge et une question quotidienne au mentor IA sont gratuits. Pro déverrouille tous les cours, missions et projets, Syntax Sprint en illimité, l’ensemble des outils d’IA, l’examen de certification et une expérience sans publicités.
Puis-je compiler et exécuter du C++ sur mon téléphone, et cela fonctionne-t-il hors ligne ?
Oui, vous pouvez écrire du C++ dans l’éditeur de l’application et l’exécuter depuis votre téléphone. Un véritable compilateur GCC construit le code et renvoie la sortie ainsi que le code de sortie, et les programmes qui lisent depuis cin peuvent recevoir les données que vous saisissez. Comme le compilateur est distant, l’exécution du code nécessite une connexion Internet. Les grands projets CMake multi-fichiers sont mieux compilés sur un ordinateur.
À qui s’adresse l’application et que couvre-t-elle ?
Elle convient aux débutants qui apprennent le C++ comme première ou deuxième langue, aux étudiants suivant un cours de C++, aux développeurs de jeux et de systèmes, ainsi qu’aux développeurs venant de Python ou de Java qui veulent comprendre la mémoire. Les 51 cours couvrent les variables, les chaînes, les flux, le contrôle de flux, les structs et les classes, les vecteurs, les références, les pointeurs, RAII, les pointeurs intelligents, les templates, les lambdas, la STL, les E/S de fichiers, CMake, la concurrence et les coroutines.
Que sont Predict the output, Bug hunt et Syntax Sprint ?
Ce sont trois habitudes quotidiennes pour pratiquer le C++. Predict the output vous propose cinq courts programmes par jour et vous demande de donner une réponse avant que le compilateur ne tranche. Le bug hunt vous donne chaque jour un programme défectueux à corriger et à vérifier avec le compilateur, avec des indices gratuits. Syntax Sprint consiste en 60 secondes de questions de syntaxe à réponse unique, pendant lesquelles vous essayez de battre votre meilleur score.
Pourquoi les pointeurs et la distinction entre la pile et le tas semblent-ils si difficiles en C++ ?
Dans la plupart des langages, le système décide pour vous où vit une valeur et quand elle est libérée ; en C++, c’est à vous de le décider, ce qui explique toute la difficulté. Un pointeur est simplement une variable qui contient l’adresse d’une autre valeur, mais confondre la pile et le tas entraîne des pointeurs pendants, des fuites mémoire et des plantages. L’application enseigne le modèle mémoire, RAII et les pointeurs intelligents dans des cours dédiés.
Qu’est-ce que RAII et pourquoi le C++ moderne le préfère-t-il à new et delete manuels ?
RAII, ou Resource Acquisition Is Initialization, lie la durée de vie d’une ressource au constructeur et au destructeur d’un objet : la ressource est donc libérée automatiquement lorsque l’objet sort de sa portée, sans appel delete que vous pourriez oublier. Les pointeurs intelligents appliquent RAII à la mémoire, et passer de new et delete bruts aux pointeurs intelligents constitue l’une des plus grandes améliorations de la sécurité en C++ moderne.
Dois-je apprendre la STL avant d’écrire mes propres structures de données ?
En général, oui. La Standard Template Library fournit déjà des vecteurs, maps, sets, itérateurs et algorithmes testés : vous apprenez donc à utiliser std::sort plutôt qu’à le réimplémenter. L’application vous fait tout de même construire une liste chaînée, une pile basée sur un template et d’autres structures dans ses projets guidés, une fois les bases acquises.
L’application aide-t-elle à se préparer aux entretiens C++ ?
Elle aide pour la partie pratique. Predict the output et le bug hunt vous entraînent à lire attentivement le code, les cours sur la STL couvrent les conteneurs et algorithmes sur lesquels les entretiens s’appuient, et des projets guidés comme une liste chaînée, une pile basée sur un template et une calculatrice RPN vous font pratiquer des structures courantes. Il s’agit d’un cours, et non d’une banque dédiée de questions d’entretien.
Learn C++: Code & Practice sur l’App Store est-elle la même application ?
Oui. La fiche App Store s’intitule Learn C++: Code & Practice et la fiche Google Play s’intitule Apprendre C++: Cours Code, mais il s’agit de la même application avec les mêmes 51 cours. Un certificat de fin de formation est délivré après l’examen final ; il atteste de votre travail, mais ne constitue pas une qualification accréditée.
Commencer
Compilez votre premier programme C++ aujourd’hui
51 cours, un véritable compilateur GCC et un mentor IA. Premiers pas gratuits sur iOS et Android, dans 22 langues.
Plus de CoddyKit
Disponible sur iOS et Android.