[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [C(++)] Petite question toute bête



On Thu, Dec 21, 2006 at 10:34:14AM +0100, Aurelien Roux wrote:
> > j'aurais plutot tendance a écrire :
> > if (Nbpoints && fe && Tdelay && Twidth) break;

Moi aussi.

> > >Mais, visiblement, on ne peut pas utiliser break comme ça dans cette
> > >forme syntaxique.
> > 
> > a mon avis ca n'est pas le break qui pose probleme mais le fait que tu 
> > ne mette rien apres :.
> 
> Non, c'est bien le break qui pose problème.
> On peut laisser vide, a priori, la seconde partie.

Non. L'opérateur ternaire *renvoie* une valeur ou une autre.
Si tu laissais le 3eme paramètre vide, il renverrait quoi?

Et plus important:

Faut arreter. Tu n'optimises rien du tout, tu pourris ton
source. Le compilateur sait très bien faire ce genre chose,
et je t'invite à le vérifier toi même après avoir fait tous
ces tortilloux syntaxiques. Le code généré par ?: est
pratiquement toujours strictement le même que celui généré
par les if(){}else{} équivalents.  Il faut donc choisir la
syntaxe qui correspond à l'idée du source, du point de vue
du source, et ne pas se poser de question sur
l'implémentation.

Y.



Reply to: