OVH Cloud OVH Cloud

bool

64 réponses
Avatar
Fabien LE LEZ
Bonjour,

Un peu HS ici, mais je ne peux m'empêcher de vous faire profiter d'une
perle de l'API Windows :

typedef int BOOL;
#define FALSE 0
#define TRUE 1
C'est limite, mais prévu à l'origine pour les compilateurs sans type
bool.

BOOL GetMessage (/*je vous fais grâce des paramètres*/);

Pas de problème non plus... sauf cette remarque :

Note that the function return value can be TRUE, FALSE, or -1.

Les profs de C++ pourraient se servir de cet exemple pour illustrer
les magnifiques méthodes d'obfuscation utilisées dans l'industrie ;-)


--
;-)

10 réponses

3 4 5 6 7
Avatar
Fabien LE LEZ
On Fri, 5 Dec 2003 03:47:04 +0100, DINH Viêt Hoà
wrote:

C'est un TRIBOOL !


tiens, un corps à ajouter à la théorie des ensembles ?


Z/3Z est déjà bien connu, non ?

--
;-)


Avatar
Gabriel Dos Reis
"Pierre Maurette" <mmaauurreettttttee.ppiieerrrree@@ffrreeee.ffrr> writes:

| Ou alors, peut-être préférez-vous :
| while(A = f(), A != ERROR)

for (A = f(); A != ERROR; A = f())


(Non,Michel recommence pas ;-)

-- Gaby
Avatar
Richard Delorme

du verbe
offusquer, qui veut dire « cacher à la vue, empêcher de voir »,




Mais ta définition est "vieillie" (sans vouloir t'offusquer :-)


Certes, cependant d'après le TLFi le sens qu'on pourrait vouloir utiliser
dans la programmation n'est pas vieilli, mais est juste « littéraire. »
Peut-être qu'en verlan ça ferait plus /djeun/ : « Arrête de me kéfusser,
toi là ».

--
Richard




Avatar
Gabriel Dos Reis
Benoit Rousseau writes:

| > Pour une définition complète, tu peux consulter le TLFi :
| > http://atilf.atilf.fr/tlf.htm
|
| Mais ta définition est "vieillie" (sans vouloir t'offusquer :-)

Hérérique !

-- Gaby
Avatar
Fabien LE LEZ
On 5 Dec 2003 00:33:30 -0800, wrote:

Bah oui, mais là il s'agit d'un booléen à trois valeurs ~_~ Il aurait
quand même été plus heureux de renvoyer un int ou quelque chose du
même style...


Surtout qu'on peut bien imaginer un jour où quelqu'un met le code à
jour, en changeant le « typedef int BOOL » en « typedef bool BOOL ».


Arf... C'est là qu'on va s'amuser ;-)

Enfin bon, grâce à la programmation GUI portable (via wxWindows par
exemple) le programmeur final ne sera peut-être pas trop gêné (par
contre je plains les concepteurs de wxWindows ~__~ ).

Remarque que GetMessage est une API fondamentale (il n'est pas
possible de faire une application GUI sous Windows sans l'appeler --
directement ou indirectement via une encapsulation), donc je pense que
les développeurs de chez Microsoft s'apercevront vite que "typedef
bool BOOL" ne marche pas ;-)


--
;-)


Avatar
Fabien LE LEZ
On 5 Dec 2003 00:35:29 -0800, wrote:

Mais qui te dit que BOOL signifie un type booléen. C'est sans doute un
acronyme pour Binary Or Other Logic, ou quelque chose du genre. :-)


C'est bien ce que je disais au début : magnifique exemple
d'obfuscation :-)

--
;-)

Avatar
Fabien LE LEZ
On Thu, 04 Dec 2003 22:46:16 +0100, Richard Delorme
wrote:

Les états de services
littéraires du monsieur nous autorise à employer offusquer à la place de
l'anglicisme obfusquer sans aucune retenue.


Rabelais et Shakespeare aussi étaient des écrivains fort honorables
;-)

--
;-)

Avatar
DINH Viêt Hoà

On Fri, 5 Dec 2003 03:47:04 +0100, DINH Viêt Hoà
wrote:

C'est un TRIBOOL !


tiens, un corps à ajouter à la théorie des ensembles ?


Z/3Z est déjà bien connu, non ?


Si on prend 1 comme VRAI,
0 comme FAUX
et -1 = 2 (modulo 3) comme ECHEC

comment définis-tu les opérateurs sur ton ensemble ?

la valeur ECHEC est-elle munie de la propriété suivante ?

ECHEC OU x = ECHEC
ECHEC ET x = ECHEC

enfin j'ai l'impression que ce n'est pas trop équivalent à Z/3Z, surtout
si tu prends les opérations d'addition et multiplication pour le OU et
le ET :

on aurait : VRAI OU VRAI = ECHEC, ce qui serait un peu absurde.

--
DINH V. Hoa,

etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan



Avatar
Jean-Marc Bourguet
DINH Viêt Hoà writes:


On Fri, 5 Dec 2003 03:47:04 +0100, DINH Viêt Hoà
wrote:

C'est un TRIBOOL !


tiens, un corps à ajouter à la théorie des ensembles ?


Z/3Z est déjà bien connu, non ?


Si on prend 1 comme VRAI,
0 comme FAUX
et -1 = 2 (modulo 3) comme ECHEC

comment définis-tu les opérateurs sur ton ensemble ?

la valeur ECHEC est-elle munie de la propriété suivante ?

ECHEC OU x = ECHEC
ECHEC ET x = ECHEC

enfin j'ai l'impression que ce n'est pas trop équivalent à Z/3Z, surtout
si tu prends les opérations d'addition et multiplication pour le OU et
le ET :

on aurait : VRAI OU VRAI = ECHEC, ce qui serait un peu absurde.


Il faut qu'ECHEC soit absorbant pour OU et pour ET. Ce qui ne me
semble pas tres compatible avec la structure de groupe (ou l'absorbant
pour la multiplication est le neutre pour l'addition).

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org




Avatar
Gabriel Dos Reis
DINH Viêt Hoà writes:

| on aurait : VRAI OU VRAI = ECHEC, ce qui serait un peu absurde.

Pourquoi ?

-- Gaby
3 4 5 6 7