IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Notes en vrac sur le C++

Cet article a pour but de vous donner quelques conseils sur le C++ et la programmation en général

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Il faut utiliser les std::string !
Les chaînes en C sont une horreur ! En effet, on peut le dire, elles n'existent pas. Ce qu'on appel chaîne en C, ce n'est pas un type à part mais tout simplement un bête tableau de char. Dès lors, la manipulation de celles ci est fastidieuse et sujette à provoquer des erreurs. A l'inverse, en C++, il existe un vrai type de chaine les std::string, très puissante, flexible à l'extrême peu sujettes aux erreurs. Pourquoi s'en priver ?

En production, ne réinventez pas la roue !
On a souvent tendance à tomber dans le syndrome du NIH (Not Invented Here) ou encore pas inventé ici. Autrement dit, on passe du temps à recréer quelque chose déjà existant, fonctionnel et testé car cette chose n'a pas été crée par nos soins. C'est une source de bugs potentiel et du temps de perdu qui aurait pu être consacré à autre chose.

Utilisez ce qui est disponible !
Boost existe, la STL aussi. Sauf contraintes spécifiques à la plate-forme, utilisez les autant que possible car elles offrent vraiment une quantité incroyable d'outils permettant d'accélérer grandement le développement d'une application.

Ne mélanger pas le C et le C++ !
Le C et C++ sont deux langages distincts ayant chacun leur propre norme, leur propre comité et leur propre compilateur ainsi que deux philosophies différentes. C'est à cause de l'histoire du C et du C++ qu'on tend à croire qu'on peut les mélanger mais non, ON LES MELANGE PAS ! Le C à ses outils, le C++ les siens. Et bien qu'ils soit proches et souvent compatibles entre eux, c'est selon moi une faute de les mélanger.

Ne jamais inclure de fichier source (sauf template).
Si vous faites ceci, vous montrez à tout le monde que vous n'avez rien compris la découpe du code en fichier. Il faut mieux essayer de faire comme il faut (inclusion de .h ) et poster sur le forum pour demander de l'aide.

Cas du destructeur dans un contexte d'héritage
Le destructeur d'une classe doit être virtuel si et seulement si cette classe va servir d'interface pour manipuler des classes dérivées. Sinon, le destructeur doit être en protected ou public selon l'utilisation de la classe.

Constructeur de copie et opérateur d'affectation vont de paire
On ne le dira jamais assez, mais ils jouent le même rôle. C'est juste qu'ils ne sont pas appelés au même moment. Si vous devez définir l'un des deux, définissez l'autre avec, sans quoi, une segfault suivant la loi de Murphy vous rappellera que vous ne l'avez pas fait.

Utilisez des compilateurs modernes !
Combien de personnes utilisent encore VS C++ 6.0 ? Trop, c'est certain. Comment veut on bien développer quand on code avec un tel compilateur ? (Qui ne mérite que de disparaître). Utiliser VS C++ 2008, gratuit dans sa version express, ou encore g++ (seul ou via un IDE tel Code::Blocks) mais par pitié, abandonnez VS C++ 6.0.

En cas de segfault, pensez a utiliser un débuggeur !!
En effet, utiliser un débuggeur permet de localiser précisément où le code plante. Et ce n'est pas rien, car avec l'utilisation de breakpoints, on peut retrouver quelle instruction à invalidé le pointeur, ce qui résout le problème.

Lisez les bons livres
Les livres traitant sur le C++ sont très nombreux. Mais les bons livres sont très rares. Voici une sélection de livre à posséder absolument pour quelqu'un qui souhaite maitriser le C++ :

Personnellement, j'ajoute à cette liste le livre C++ Common Knowledge qui est dans la même veine que Standards de programmation en C++.

Après, on peut aussi rajouter dans des domaines plus spécifiques de la programmation C++ :

Enfin, il ne faut pas oublier la norme, qui reste le document absolu en cas de doute, mais ce document n'est pas le plus accessible tant au point de vue du prix que de celui technique.

Un langage n'est qu'un outil.
Dès lors il ne s'agit pas de se borner à un langage mais de choisir le plus adapté à ce qu'on souhaite faire.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2007 Côme David. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.