|
|
|
|
Bonjour,
je recherche un recueil des conventions de codage en C++ sous Linux.
Existe-il un tel document ?
Plusieurs projets proposent leurs conventions, mais je n'ai trouvé nulle part les conventions "générales".
J'ai trouvé les conventions du langage C sous www.gnu.org, mais pas celles du C++.
Je vous remercie d'avance de vos réponses.
.............
Gnutator
.............
Configuration: Linux Epiphany 2.16
C'est quoi ce que tu appelles des conventions de codage ?
gcc -W -Wall -o plop.exe plop.c Bonne chance |
Bonjour,
|
Tout d'abord, merci de vos réponses.
|
Alors quelques petites remarques.
int main(){
std::map<std::string,int> m;
m["janvier"] = 1;
m["fevrier"] = 2;
//...
std::map<std::string,int>::const_iterator
mit (m.begin()),
mend(m.end());
for(;mit!=mend;++mit){
const std::string & mois = mit->first;
const int & numero = mit->second;
std::cout << mois << ' ' << numero << std::endl;
}
return 0;
}
- De manière générale utiliser le moins possible les using namespace pour plus de lisibilité. Ca alourdit un peu les types mais au moins on sait de quoi on parle et il n'y a pas d'ambiguité. En particulier, ne jamais utiliser un using namespace dans un header (.hpp, .h) - Après plus sur le style de codage, en C++ on n'a pas besoin de malloc et free (il y a new et delete), de cast (il y a les static_cast, les dynamic_cast...). - Utiliser le moins possible les new, les delete, les pointeur car la plupart du temps on peut se débrouiller juste avec le constructeur et les références, un peu comme le java. De même par le jeu des héritages le cast peut être très souvent éviter (et devrait l'être autant que possible). - Ne passer à une fonction un pointeur que si c'est bien le pointeur qui est manipulé. Si c'est juste pour éviter d'empiler un gros objet en paramètre, ou pour que celui-ci soit modifiable par la fonction, utiliser une référence. - Verrouiller le code au maximum. Bien mettre en private portected ce qui doit l'être, mettre les const pour les invariants etc... Bonne chance |