Ouais mais je trouve que c'est ambigu, il y a la taille de la zone contenant la chaine d'une part, et la longueur de la chaine.
Je differencie longueur et taille
Ouais mais je trouve que c'est ambigu, il y a la taille de la zone contenant la chaine d'une part, et la longueur de la chaine.
Je differencie longueur et taille
Sans vouloir troller, une indentation de longueur > 4 peut etre intéressante - programme 17 heures d'affilée et tu verras...
Entre nous, \t au lieu d'espaces est encore mieux à mon sens...
Michaël Hooreman
Envoyé par GruikLe problème d'utiliser un size_t pour stoker les tailles des tableaux c'est que tu peux rencontrer des warning :The value of the result is implementation-defined, and its type (an unsigned integer type)
is size_t, defined in <stddef.h> (and other headers).
En particulier dans les boucles for
Code : Sélectionner tout - Visualiser dans une fenêtre à part warning: comparison between signed and unsigned
Quitte à me faire contre dire je vais dire que size_t c'est pour la lisibilité, size_t ca sous-entend pour moi quelque chose de dynamique, une taille a allouer. Un nombre d'elements , pour moi c'est du intEnvoyé par Gruik
unsigned int en fait. C'est une taille.Envoyé par gnto
Et ca depend de l'implementation (uint32, uint16...).
Don't worry, be serious.
La vie est courte. Prenez votre temps.
Jack.
Ca te dit pas de rajouter des "grades" à ton échelle de Goret ?
Par exemple : "Enorme porc" ( Force 10 )
Sinon, dans ton Echelle de Goret il manque les noms de variables totalement sans rapport avec le contenu
En tout cas c'est une bonne idée, ça m'a fait sourire A+
K
A propos de size_t, la norme dit ceci :
[...]
size_t
which is the unsigned integer type of the result of the sizeof operator
[...]
Emmanuel (que l'on peut assimiler à la norme) a ecrit sur son site.
size_t, c'est quoi ?
size_t est le type retourné par l'opérateur sizeof. C'est un entier non signé. Il est suffisament grand pour contenir la valeur représentant, en nombre de bytes, la taille du plus grand objet possible d'une implémentation donnée. Il convient pour les tailles, les dimensions de tableau, les index (non négatifs)...
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
Je ne connaissais pas l'echelle du goret d'Emmanuel. Mais pourquoi l'item "Tout le projet dans le main()" se trouve a la fois en force 6 et 10 ? Cela depend de la tete du client ?
Simple erreur. Corrigée.Envoyé par DaZumba
Pas de Wi-Fi à la maison : CPL
Elles ne font pas/plus ce que je veux.Envoyé par miron
Pas de Wi-Fi à la maison : CPL
Il y a une définition précise :Envoyé par Gruik
size_t est le type retourné par l'opérateur sizeof. C'est un entier positif. Le type sous-jacent dépend de l'implémentation.
détails : "google n1124"
Ce qui est important dans le choix d'un type, c'est que sa plage de valeurs possible soit en accord avec son utilisation.A un moment j'ai voulu mettre des size_t partout, mais finalement je me suis dis que ça ne devait servir que pour les tailles reelles (c a d, ce qui est retourné par sizeof par ex), pas pour les nb d'elements de tableaux.
L'unité de compte étant le char (et valant 1, par définition, comme toutes les unités), la taille (size) d'un objet (la valeur retournée par sizeof) est garantie de tenir dans un size_t (qui est précisément le type retourné par l'opérateur sizeof).Car la taille d'un tableau peut vouloir dire : sa taille en memoire ou sa taille en nb d'elements.
En conséquence (et ce n'est pas de l'interprétation, mais de la logique pure) :
Les grandeurs maximales suivantes tiennent dans un size_t :
- taille d'un objet
- taille d'une chaine
- longueur d'une chaine
- nombre d'élements d'un tableau
- indice positifs d'un tableau
Pas de Wi-Fi à la maison : CPL
Il suffit d'utiliser un indice du bon type. size_t, par exemple, ce qui est complètement logique pour les indices positifs. (les indices négatifs, c'est space, mais ça existe. Utiliser prtdiff_t).Envoyé par gege2061
Pas de Wi-Fi à la maison : CPL
mmm... c'est surtout parce que c'est le type adapté. Pas de surprise (débordement, tronquage, perte d'information...)Envoyé par gnto
Absolument aucun raport. L'intuition n'a pas sa place ici. Il y a des regles, des défintions...size_t ca sous-entend pour moi quelque chose de dynamique,
C'est techniquement possible, mais ce n'est pas portable. Il peut exister des tailles qui tiennent dans un size_t et pas dans un int.une taille a allouer. Un nombre d'elements , pour moi c'est du int
Pas de Wi-Fi à la maison : CPL
Je pense qu'il faut laisser faire l'imagination... On pourrait aiussi faire une série de vignettes...Envoyé par KiLVaiDeN
Fait.Sinon, dans ton Echelle de Goret il manque les noms de variables totalement sans rapport avec le contenu
Force 7 : "Identificateurs abscons"
Pas de Wi-Fi à la maison : CPL
+1Envoyé par Emmanuel Delahaye
Il suffit de programmer en Win64 (ou en /Wp64) pour voir cela.
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.
Envoyé par Gruik
100% pour, ça serait vachement bien qu'on puisse se concerter à ce sujet.
Eh bien bon courage pour reprendre le projet !Ce que je stigmatise c'est le projet de fin d'année de 10.000 lignes dans un seul main() Ca s'est déjà vu !
Euuh c'est quoi pour toi cacher les pointeurs ?case de switch de plus de 10 lignes
cacher les pointeurs
C'est TRES contestable..( sauf en vue de portabilité )Usage de la 'Notation Hongroise' version Microsoft (avec les types)
Enfin chacun fait ce qu'il veut
Envoyé par mat.M
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 typedef char *T; int f (T s);
Pas de Wi-Fi à la maison : CPL
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager