Je trouve que ça va quand même plus vite d'utiliser directement un size_t.
Je trouve que ça va quand même plus vite d'utiliser directement un size_t.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Ben c'est évident. Si la taille est définitivement figée dans un ensemble immuable on va un peu optimiser la taille de l'indice. T'étais vraiment obligé de venir chercher un exemple aussi nul pour me prouver que size_t est inutile ??? size_t est un "outi"l qui te "permet de". Si tu penses que tu n'en as pas besoin parce que TOUS tes tableaux que t'as jamais programmés et que tu programmeras jamais ne dépasseront jamais le chiffre 12, ben autant rester à l'unsigned char dans tes indices.
T'es totalement libre. Je répondais juste à une question (qui n'es pas de toi) qui demandait "pourquoi on dit que...". Je ne t'ai jamais dit comment programmer. Mais je remarque quand-même que t'as pensé à l'usigned ce qui dénote déjà une certaine recherche. T'aurais pu pousser cette recherche jusqu'au bout et tu serais arrivé au size_t...
Ca fait que là t'es tranquille !!!
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
C'est totalement dependant de la plate-forme.
Si ce n'est qu'il n'y a aucune garantie que sur une architecture 64 bits un unsigned int fasse 64bits. Il peut tout a fait en faire seulement 16 (pour rappel, la plage garantie par la norme de unsigned int est 0 à 65535).
Concernant le nombre de return par fonction, moi je dis qu'il en faut trois ; non pas deux, ni quatre, mais trois.
- un pour faire terminer la fonction
- un pour rendre le code joli
- et un autre pour rendre le code lisible
Si quelqu'un affirme le contraire, alors il ne sait pas programmer !
J'aimerais quand même bien savoir où j'ai voulu dire que size_t est inutile et à quoi ça peut servir de l'utiliser systématiquement pour les indices puisque c'est la question. Ne me dis pas qu'on utilise à tout bout de champ des tableaux de plus de 64K...
Tu parles de plate-forme au sens général ou des implémentations x86-64 ?
En x86-64 un int fait 32 bits. Je me suis exprimé dans le désordre mais je voulais simplement dire que c'est complètement utopique de parler de tableaux de 2^64 éléments.
C'est ce que j'ai compris quand j'ai lu ceci
Ben simplement parce que c'est un outil fait pour ça. On peut faire sans et prendre un risque, ou faire avec et n'en prendre aucun. On peut aussi faire sans "parfois" et malgré cela ne pas prendre de risque "dans ce cas précis" (comme pour les 12 mois de l'année) mais ce cas est lui-aussi assez rare...Personnellement j'utilise presque tout le temps unsigned int.
Non mais à la limite je m'en fouts. Je sais que si mon tableau dépasse 64K éléments, mon code fonctionnera toujours...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
De maniere generale, la taille du bus d'adresse est totalement dependante de la plateforme.
De fait utiliser cette justification pour choisir la taille d'un type restreint le programme a une gamme de plateforme precise et donc limite la portabilite et rends de ce fait ce programme moins evolutible (Ce qui par ailleurs n'est pas necessairement un probleme, ca depends du contexte).
De maniere portable, un unsigned int ne permet de stocker que des valeurs comprises entre 0 à 65535, ce qui peut etre certes suffisant dans certains cas mais on atteinds vite les limites.
Supposer que la taille sera de 32 bits limite inutilement la portabilite du programme.
ben c'est un bon exemple la fonction strcmp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int my_strcmp(char *a, char *b) { while(1) { if (*a != *b) return *a - *b; if (*a == 0) return 0; a++; b++; } }
Partager