| |||||
| Dernière réponse | |
|---|---|
| Sujet : BOOL et bool ? | |
| haahhahahaha | et c quoi la différence avec __FUNCTION__ ? |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| haahhahahaha | et c quoi la différence avec __FUNCTION__ ? |
| haahhahahaha | Le symbole _func_ est implémenté dans VS.Net Beta 1 ?
Parce que sa a l'aire pas mal... |
| haahhahahaha | Bien que je m'en fou, je sais maintenant que bool vient d'être implémenter dans le language C. Moi j'utilise le C++ (de toutes façon pour les pauvres différences entre le C et le C++).
Donc maintenent je vais utilise le type BOOL qui est apparament meilleur d'après BifaceMcLeOD |
| gilou | Antp, Oui, en 99, un update majeur du standard a ete adopte.
Si tu lis le C/C++ Dev Journal, il y a eu des articles a ce sujet en octobre et ensuite. 5 nouveaux Keywords: inline, restrict, _Bool, _Complex et _Imaginary. Il y a des headers stdbool.h, stdint.h, inttypes.h, fpenv.h,... Il y a les types que j'ai donne dans mon precedent post. Il y a des spec pour utiliser une machine implementant l'arithmetique en virgule flotante au standard IEEE (avec les NaN, les infinis...) Il y a differentes autres nouveautes, dont les arrays de taille variable permettant la syntaxe suivante, je crois: fonction (unsigned int i, autres params...) { char tableau[i]; .... } (peut evidemment pas etre statique le tableau) Comme en C++, on a: Les commentaires // sont des commentaires valides (Quelle nouveaute :D) les structures if switch while et do sont toutes implementees comme des blocs (% scope) on peut declarer la variable d'un for localement au for (for (int i=0;...) ) Il y a encore d'autres trucs utiles: une liste declarant un enum peut se terminer par une , sans generer d'erreur. Il y a une notation avec un . sans rien a gauche utilisee pour initialiser les membres d'un struct. Il y a un symbole _func_ qui est utilisable comme _FILE_ et _LINE_ et donne le nom de la fonction en cours. \u suivi de 4 chiffres hexa (resp \U et 8 chiffres hexa) represente les caracteres unicodes (resp ISO10646) Une des grosses diffs du C99 avec les implems precedentes est que int n'est plus le type par defaut. Tu peux acheter une version PDF du standard C99 sur le web pour $18 en http://www.techstreet.com/ncitsgate.html (et suit le lien sur le langage C) A+, [edit]--Message édité par gilou--[/edit] |
| BENB |
|
| antp |
|
| gilou |
[edit]--Message édité par gilou--[/edit] |
| haahhahahaha | Merci pour cette belle réponse qui a fait avancer les choses. |
| haahhahahaha | Du C++ le bool ?
Dans ce cas je comprends. Faut dire que g pas trop connu l'epoque du C. |
| BifaceMcLeOD |
[edit]--Message édité par BifaceMcLeOD--[/edit] |
| antp | [citation][nom]pourquoi l'API de Windows ne prend pas le type bool du C qui prend un seul octet ?[/citation]
Parce qu'il y a pas de type bool en C, c'est du C++ :D |
| darkoli | non les calculs en double sont plus long et surtout la division qui est tres gourmande. Plus la precision est importante plus c'est long.
Pour les autres operations il n'y a pas de grandes differences entre float et double (+,-,*). |
| n0mad |
|
| Roswell_ | Dans le même genre j'ai endentu dire que les calculs en double allaient plus vite qu'en float! :bounce: |
| bat | Je pense que JPA a raison. Si ca vous interesse, je peux me renseigner sur cette question.
Sinon, je pense qu'on utilise BOOL car quand tu utilises une macro pour définir un type, c'est plus facile de redéfinir le type dans tout le prog, puisqu'il suffit de modifier la macro. Donc le code est plus facilement portable. Ex : INT représente un integer 32 bits sur Win32 (cad int) et un integer 64 bits sur Win64 (cad int64). |
| JPA | Je ne suis pas sûr de ce que je vais avancer, mais il me semble avoir lu qq part que le transfert et le traitement d'un seul octet etait plus lent que 4 (largeur du BUS)
A confirmer bien sûr... |
| SoWhatIn22 | avantage:
ca fait chier tout le monde parce qu'on est obligé de tout re-écrire pour compiler avec un autre compilo. Donc on n'a pas envie de re-écrire, donc on garde le même compilo, à savoir le leur. donc aucun avantage pour toi |
| zop | Le compilo est content :D [edit]--Message édité par zop--[/edit] |
| haahhahahaha | un BOOL est un int renommé qui prend donc 4 octet.
Comme de toute façon cette variable ne prend jamais une autre valeur que 1 ou 0, pourquoi l'API de Windows ne prend pas le type bool du C qui prend un seul octet ? Quel est l'avantage à utiliser BOOL au lieu de bool ? |




