Dans les autres langages de programmation on également plutôt l’habitude qu’une valeur différente de zéro soit évaluée vraie et zéro soit évalué faux.
Dans les autres langages de programmation true == vrai et false == faux.
Lorsqu'en c++ je fais un operateur de cast en bool, je renvoie true ou false, pas 0 ou 1.
Il m'arrive bien de faire if(ptr) ptr->..., mais je ne fais pas ça avec un entier par exemple.
Si j'ai un entier ou un type énuméré, je ne joue pas avec if( variable); au fait si ta variable c'est un flottant ça donne quoi ?
Alors certes, en C, c'est un poil différent, et j'ai déjà eu des blague avec des gens qui avaient fait des #define TRUE 1
qui ensuite faisaient des if( machin()==TRUE ) qui marchait pas parce que machin renvoyait autre chose que 0 et 1. (à noter que j'ai horreur des == true )
Ensuite si toutes les conventions de tous les langages étaient identique, on aurait qu'un seul langage :P
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: false
Posté par fearan . En réponse au journal Le core utile. Évalué à 4.
Dans les autres langages de programmation true == vrai et false == faux.
Lorsqu'en c++ je fais un operateur de cast en bool, je renvoie true ou false, pas 0 ou 1.
Il m'arrive bien de faire if(ptr) ptr->..., mais je ne fais pas ça avec un entier par exemple.
Si j'ai un entier ou un type énuméré, je ne joue pas avec if( variable); au fait si ta variable c'est un flottant ça donne quoi ?
Alors certes, en C, c'est un poil différent, et j'ai déjà eu des blague avec des gens qui avaient fait des #define TRUE 1
qui ensuite faisaient des if( machin()==TRUE ) qui marchait pas parce que machin renvoyait autre chose que 0 et 1. (à noter que j'ai horreur des == true )
Ensuite si toutes les conventions de tous les langages étaient identique, on aurait qu'un seul langage :P
Il ne faut pas décorner les boeufs avant d'avoir semé le vent