http://cpp.developpez.com/faq/cpp/?p...eurs_interdits
Effectivement, le préfixage par _ est rarement une bonne idée. Certains sont passés au postfixage, mais je n'aime pas non plus : C'est trop dur à lire ou à prononcer à voix haute.
Version imprimable
http://cpp.developpez.com/faq/cpp/?p...eurs_interdits
Effectivement, le préfixage par _ est rarement une bonne idée. Certains sont passés au postfixage, mais je n'aime pas non plus : C'est trop dur à lire ou à prononcer à voix haute.
La portée du nom des membres d'une classe est limitée à la classe. Je ne vois pas trop l'intérêt de les préfixer de façon particulière: quels sont les risques de collisions qu'on chercherait à prévenir?.
Par contre "__" est réservé par ISO C++ pour préfixer des mots clés d'une implémentation du compilateur qui aurait des extensions non standards.
- W
Pas d'avis sur les différents type d'implémentation?
http://www.developpez.net/forums/sho...9&postcount=44
ps: r0d si ca n'as vraiment rien avoir avec ton sujet de départ, dit le moi je déplacerais dans un nouveau thread.
Si. Il faut voir le contexte -- à quoi cela va servir.
La norme d'un point serait mieux libre, vu que de toutes façons il faudra bien exposer les deux propriétés que x et y.
Je distinguerais point et différence-entre-2-points.
Une différence entre points serait un vecteur.
Quant au "vecteur position" d'un point, c'est la différence entre ce point et l'origine.
Et les opérations:
- point + vecteur = point
- point - vecteur = point
- point + point INTERDIT!
- point - point = vecteur
- vecteur + vecteur = vecteur
- vecteur - vecteur = vecteur
- point * nombre INTERDIT!
- vecteur * nombre = vecteur.
- ProdScalaire(vecteur, vecteur) = nombre
- ProdVectoriel(vecteur, vecteur) = vecteur //Le produit vectoriel existe-t-il en 2D ??
L'arithmétique entre points et vecteurs, ressemble beaucoup à l'arithmétique entre pointeurs et entiers...
D'ailleurs pour en revenir à ce choix entre les 3 possibilités, que pensez-vous de ce qui est écrit dans la FAQ concernant la convention suivate : utiliser class pour du POD qui a besoin d'un constructeur, et réserver struct pour les structures très simples de type C ?
Pour mon type Complex, j'ai finalement choisi une classe avec membres publiques. Si je m'aperçois que je ne suis jamais amené à modifier mes vecteurs de complexes après leur création, je passerai ces membres en const et le tour sera joué. Merci pour votre aide à tous :)
C'est vrai, j'ai appris ça récemment, mais on en revient à mon autre interrogation : quid de la convention citée dans la FAQ, qui veut qu'une structure qui a besoin d'un constructeur ou de fonctions membres (operateurs dans mon cas) soit systématiquement codée sous la forme d'une classe avec membres publics ?
C'est pour ne pas choquer les esprits. Maintenant, je n'accorde plus trop d'importance à cela.
Car en plus, quid des agrégations de données (à la C) qui ne sont pas POD ?
Dans un langage a prototypes, au lieu de constructeurs tu aurais par exemple:
Est-ce que c'est pas plus simple? :)Code:
1
2
3 Point = struct(x <= 0.0, y <= 0.0); A = Point(x <= 3.0, y <= 1.5); B = A(x <= -2.0); // B.x = -2.0, B.y = 1.5
(promo: dodo langage a prototypes)