Dans la norme C++ :
sizeof(char)
,sizeof(signed char)
ysizeof(unsigned char)
sont1
.
-
Existe-t-il d'autres types en C++ qui ont une valeur fixe ?
sizeof
? -
La structure vide correspond-elle à cette définition ?
Dans la norme C++ :
sizeof(char)
,sizeof(signed char)
ysizeof(unsigned char)
sont1
.
Existe-t-il d'autres types en C++ qui ont une valeur fixe ? sizeof
?
La structure vide correspond-elle à cette définition ?
Non. Comme vous dites, sizeof(signed char)
, sizeof(unsigned char)
y sizeof(char)
sont définis par la norme comme étant égaux à 1. Il convient de noter que char
doit être soit signed
o unsigned
mais il est toujours considéré comme un type distinct. Le site sizeof
tout le reste est laissé à l'appréciation de la mise en œuvre, sous réserve de certaines contraintes (par ex. sizeof(long)
ne peut être inférieure à sizeof(int)
.)
La norme C++ exige sizeof
une classe vide pour être une valeur intégrale supérieure à zéro (sinon l'arithmétique des pointeurs se casserait horriblement).
1) Existe-t-il d'autres types en C++ qui ont une taille fixe ?
Il existe des tableaux dont la taille est spécifiée :
sizeof(T[N]) == N * sizeof(T)
donc sizeof(char[42])
es 42
.
2) La structure vide correspond-elle à cette définition ?
La structure vide n'est ni char
, signed char
o unsigned char
Il ne correspond donc pas à cette définition. (BTW son sizeof
ne peut être 0
).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.