[gull] cours C++

Daniel Cordey dc at mjt.ch
Fri Feb 24 08:46:24 CET 2006


On Friday 24 February 2006 02:35, Grossiord Yves wrote:

> J'aurais du mettre "choix de syntaxe" plutot que "choix
> techniques". Je pensais a une partie du comite qui refuse
> systematiquement toute creation de nouveau mot-cle, ce qui
> nous a valu ' = 0' a la place de 'abstract' et les 'virtual'
> mis a toutes les sauces, entre autres.

Tout s'explique mais c'est parfois genant :-)

> J'ai appris aussi dans ce livre l'existence de 'and', 'or',
> 'not', etc... Ils ont ete crees pour les pays dont le jeu de
> caracteres standard ne contenait (contient) pas &, |, !, ...
> Si, si, ca a existe (existe). Je suis en general partisan d'un
> code le plus lisible possible. J'ai bien envie de les utiliser
> a partir de maintenant, lorsque le compilateur le permet.

Le compilateur (meme le C) permet ceci depuis le debut :

#define &&	AND
#define ||	OR
#define ==	IS
#define <	LT
...

Surtout, ceci evite de chercher penant des heures un bug du style :

	if (number = value)

Et pour ceux que les problemes de semantique genent, on peut tres bien aussi 
ecrire :

#define ==	EQUAL
#define == 	EQUIVALENT
etc.

Naturelllement, en C++, les operateurs de classes doivent etre utilises pour 
pouvoir continuer a utilise ces macros de maniere generique. C'est moins 
complique qu'il n'y parait.

J'ai un paquet de define que j'utilise depuis de nombreuses annees mais je ne 
comprends pas pourquoi personne n'a fait la meme chose. C'est tellement 
trivial que ca me sidere. La puissance des macros du pre-pcocesseur C/C++ est 
enorme et negligee.

dc





More information about the gull mailing list