Les meilleurs Cours et Tutoriels C++
Nombre d´auteurs : 84, nombre d´articles : 36, dernière mise à jour : 9 mai 2016
Pour débuter
-
Vous souhaitez apprendre le C++ mais ne savez pas comment vous y prendre, par quoi commencer ? Cet article est fait pour vous ! Des outils les plus adaptés jusqu'aux meilleures ressources pour apprendre, cet article vous donnera toutes les pistes nécessaire pour effectuer un apprentissage correct du C++.Création : 11 juin 2009 · Mise à jour : 24 août 2012 · 28 commentaires
Sommaire
menu
Cours magistraux et tutoriels d'initiation sur le langage C++
-
Destiné à ceux qui connaissent déjà les bases du C++, ce livre de cours de 40 pages traite des fonctions avancées de C++ : forme canonique de Coplien, surcharge, références, exceptions, transtypages, etc.Création : 23 janvier 2007 -
La nouvelle norme du C++ sortie en 2011 (le C++11) propose de nombreux ajout au langage et dans la bibliothèque standard. Cet article fait le tour de ces nouvelles fonctionnalités, selon la version de gcc.
Cet article sera mis à jour régulièrement pour présenter les techniques avancées.Création : 3 août 2012 · Mise à jour : mars 2013 · 54 commentaires -
Vous souhaitez apprendre le C++ mais ne savez pas comment vous y prendre, par quoi commencer ? Cet article est fait pour vous ! Des outils les plus adaptés jusqu'aux meilleures ressources pour apprendre, cet article vous donnera toutes les pistes nécessaire pour effectuer un apprentissage correct du C++.Création : 11 juin 2009 · Mise à jour : 24 août 2012 · 28 commentaires -
Premier volume du célèbre "Thinking in C++" traduit en français par l'équipe de Developpez.com.Création : 1er septembre 2008 -
Les versions anglaises du très célèbre et très complet Thinking in C++, volumes 1 et 2 dans leur seconde édition.Création : 23 janvier 2007 -
Ce cours est une introduction à la conception Objet et au C++.Création : 23 janvier 2007 -
Un cours de programmation C++ très clair et très complet par Henri Garreta, membre permanent du département d'Informatique de l'Université de la Méditerranée.Création : 23 janvier 2007 -
Ce manuel se place dans la catégorie "guide de l'utilisateur" : son but est de permettre à une personne sachant programmer, d'acquérir les éléments fondamentaux du langage C. Ce manuel présente donc chaque notion selon une gradation des difficultés et ne cherche pas à être exhaustif. Il comporte de nombreux exemples, ainsi que des exercices dont la solution se trouve dans le corps du texte, mais commence toujours sur une page différente.Création : 23 janvier 2007 -
Tutoriel C++ à télécharger pour vous aider à démarrer en C++. Ce tutoriel part du principe que vous avez déjà des notions de programmation en langage C.Création : 1er janvier 2008
menu
Tutoriels sur les fondamentaux en C++
-
Ce cours traite de la bibliothèque standard C++ (STL) et présente ses classes les plus utilisées.Création : 23 janvier 2007 -
Cet article constitue une description des concepts nécessaires à une bonne utilisation des algorithmes de la STL. Il fournit des informations sur chacun de ces algorithmes (complexité, précisions sur l'utilisation, etc.), ainsi qu'un exemple d'utilisation pour chacun d'entre eux.Création : 4 septembre 2007 · Mise à jour : 6 mars 2008 -
Tutoriel sur les algorithmes de tris fournis par la STL.Création : 14 août 2007 · Mise à jour : 30 novembre 2007 -
En C++, il n'y a pas de destruction automatique des objets lorsque l'on perd leur trace dans le code source. Les objets ainsi perdus le sont définitivement, on parle alors de fuite. C'est donc au programmeur C++ qu'incombe l'entière responsabilité de gérer le cycle de vie des objets alloués. Il s'agit donc là d'une problématique centrale dans ce langage, qui doit être réfléchie et résolue de manière globale. C'est ce que des experts ont fait, et des techniques spécifiques apportant une réponse globale au problème de la gestion des ressources (et non pas seulement au cas particulier de la mémoire) ont été développées. Ces pratiques sont à la fois robustes et élégantes, mais restent cependant peu connues et sous-utilisées. Le but de cet article est d'accroître leur notoriété au travers de leur mise en oeuvre dans le cas d'un problème classique de gestion de ressource limitée.Création : 9 juillet 2007 -
Ce document présente un outil indispensable à l'écriture de code correct en C++ : Les pointeurs intelligents. Après une présentation du problème que ces pointeurs aident à résoudre, il décortique comment il est possible de créer un tel pointeur, et enfin présente les pointeurs intelligents les plus courants, et comment les utiliser.Création : 4 août 2008 -
Tutoriel pour apprendre à bien utiliser les pointeursCréation : 10 mars 2005 -
Le C et le C++ sont deux langages proches au niveau de leur syntaxe et de leur grammaire (si l'on met de côté les propriétés objet du C++), cependant il existe un certain nombre d'incompatibilités qui fait qu'un programme écrit en C peut ne pas compiler avec un compilateur C++. La plupart des incompatibilités listées ci-dessous, en particulier celles valables pour le C90, peuvent être évitées avec un compilateur bien configuré et de bonnes habitudes de programmation.Création : 24 juillet 2005 · 1 commentaire -
Les fonctions virtuelles sont un des piliers de la programmation orientée objet. En favorisant l'abstraction, elles permettent la construction d'architectures logicielles stables et évolutives. Cet article se propose d'explorer les fonctions virtuelles dans le langage C++ en abordant aussi bien les problèmes syntaxiques que les conséquences sémantiques de leur utilisation.Création : 19 novembre 2009 · Mise à jour : 6 janvier 2010 · 18 commentaires -
C'est une source d'information que les développeurs expérimentés connaissent bien. Guru of the Week (GotW) est un site créé et alimenté par Herb Sutter entre 1997 et 2003. Le principe est simple : une question technique est posée et les lecteurs interviennent pour répondre à la question en essayant de faire le tour de toutes les difficultés techniques qui pourraient apparaître. Une note sur 10 indique le niveau de difficulté de la question. Cette discussion aboutit à une analyse en profondeur de la problématique posée.Création : 21 juin 2011 · 16 commentaires -
C'est une des guerres de religion dans la théorie des langages de programmation : faut-il choisir de retourner un code d'erreur ou utiliser une exception ? Vous trouvez que la mise en place d'un code prévenant toutes erreurs est lourde. Cet article est là pour vous aider à apprendre comment écrire un code simple et sain.Création : 25 mai 2012 · 48 commentaires -
Les exceptions fournissent un moyen pour signaler des conditions spéciales qui modifient le flux habituel de l'exécution du programme. La gestion des exceptions peut se référer soit à l'implémentation dans un langage de programmation, soit au mécanisme matériel de l'ordinateur ou les deux à la fois.
De nombreuses personnes sont concernées par l'impact sur les performances des exceptions en C++. Par exemple, un de mes collègues croit que l'utilisation des exceptions doit être évitée à tout prix pour améliorer la vitesse d'exécution d'une application. Est-ce vrai ou pas ? Allons voir !Création : 21 juillet 2012 · 27 commentaires
menu
Tutoriels sur la conception et les Design Pattern en C++
-
Ce tutoriel vise à présenter de manière relativement concise les objectifs de la conception et de la programmation par contrat, ainsi que les techniques de mise en oeuvre dans le langage C++. Le lecteur est supposé connaître les bases de la programmation, de l'approche orientée objet et de la généricité. Ce tutoriel s'adresse donc à des développeurs de niveau moyen à expérimenté.Création : 15 décembre 2009 · 16 commentaires -
Cet article a pour but de vous présenter la majorité des design patterns via un exemple de besoin qui sera complété par une mise en pratique en C++.Création : 20 février 2008 -
Vous souhaitez introduire de la "qualité logicielle" au sein de vos applications ? Sans augmenter les coûts ? En facilitant la maintenance ? En rendant votre programme évolutif ? Vous faites de la Programmation Orientée Objets ? Alors cet article devrait vous intéresser...Création : 13 juin 2006 -
Une analyse de plusieurs implémentations possibles du fameux Design Pattern State en C++.Création : 2 octobre 2009 · 33 commentaires -
Le pattern Object Pool sert à gérer une quantité finie d'objets de même type utilisés couramment, sans qu'on veuille permettre de construction ou de destruction lors de l'utilisation d'une instance de ces objets. On peut aussi empêcher de cette manière la création de "trop" d'instances.Création : 18 septembre 2006 -
Le pattern Registry est un pattern méconnu mais largement utilisé dans de nombreux cas. Il est utilisé pour gérer les paramètres d'un programme - exemple typique, la base de registres de Windows est un registre particulier -, les tests unitaires sont enregistrés dans un registre dans certaines implémentation - comme celles de JUnit -, ou plus simplement des menus.Création : 15 décembre 2006
menu
Tutoriels sur les notions avancées en C++
-
Cet article a pour objectif d'étudier les différents types d'héritage multiple que l'on trouve généralement dans les langages de programmation orientés objet à base de classes. Plus précisément, il va comparer l'héritage multiple à une version bridée, nommée héritage multiple d'interfaces, que l'on trouve dans certains langages ; ceci afin de montrer en quoi les limitations introduites par cette dernière me semblent problématiques pour mettre en place une bonne architecture de code.
Cet article n'est pas une introduction à l'héritage (qu'il soit simple ou multiple). Il n'entrera pas non plus dans les détails et les difficultés d'implémentation de l'héritage multiple mais se concentrera sur le point de vue de l'utilisateur du langage.Création : 18 juin 2011 · Mise à jour : 23 septembre 2011 · 29 commentaires -
L'objectif de cette série d'articles d'Alex Darby sur la programmation « bas niveau » est de permettre aux développeurs ayant déjà des connaissances de la programmation C++ de mieux comprendre comment leurs programmes sont exécutés en pratique.Création : 10 septembre 2012 · 24 commentaires -
Une partie des erreurs que l'on retrouve régulièrement en C++ vient d'une connaissance superficielle de la manipulation des nombres réels en informatique. Dans la série d'articles "flotting point", Bruce Dawson aborde en détail les problématiques liées à la représentation des nombres à virgule flottante.Création : 4 septembre 2012 · 12 commentaires -
Cet article vous présente l'utilisation de la méta-programmation en C++ à l'aide des templates.Création : 23 janvier 2007 -
Cet article a pour but de vous présenter ces notions afin que vous puissiez les utiliser correctement dans vos applications, ce qui rendra vos structures bien plus flexibles et puissantes.Création : 16 juillet 2007 -
Mariage de la Programmation Orientée Objet et de la Programmation Générique : Type Erasure
par Alp MestanSi vous utilisez les templates du C++ pour écrire des composants génériques, vous avez déjà peut-être voulu les combiner à la programmation orientée objet, via de l'héritage par exemple. Peut-être avez-vous eu des difficultés ; cet article va vous présenter une technique répandue, nommée Type Erasure, qui vous permettra de tirer profit des deux mondes sans perdre en flexibilité ni en maintenabilité.Création : 15 juin 2009 · 29 commentaires -
Cet article va vous présenter le template rebinding, technique utilisée en C++ grâce aux templates, qui peut paraötre assez obscure au premier abord.Création : 26 juillet 2007 -
Vous avez toujours rêvé de savoir à quoi correspondait ABI, name mangling, et autres virtual tables ? Vous savez déjà ce dont il s'agit, mais vous aimeriez en savoir plus ? Alors cet article est pour vous !
Cette article est une traduction de Some thoughts on binary compatibility.Création : 16 septembre 2009 · 6 commentaires -
Liées aux problèmes des A.B.I., cet article évoque les conventions d'appels.
Cette article est une traduction de Some thoughts on calling convention.Création : 16 septembre 2009 · 6 commentaires -
Cet article présente une technique pour appeler des méthodes de certaines classes dans un système de type « script ». Dans une telle situation, les méthodes et leurs paramètres ne sont connus qu'à l'exécution, sous la forme de chaînes de caractères.Création : 27 janvier 2010 · 12 commentaires