Ich habe gerade feste Größen entdeckt, die in stdint.h/cstdint zu finden sind. Einige von ihnen sind "normale" Typen wie int32_t und einige sind wie unsint64_t nicht signiert. Muss ich das Schlüsselwort "unsigned" verwenden, wenn Typen verwendet werden, die vom Design nicht signiert sind?Benötige ich ein 'unsigned' Schlüsselwort mit uintXX_t?
1
A
Antwort
6
Sie müssen nicht verwenden unsigned
und in der Tat können Sie kann nicht verwenden Sie es.
nur die Grundtypen mit der signed
und unsigned
verändert (auch long
und short
) Schlüsselwörter werden.
Aliase der Standardtypen können nicht mit diesen Schlüsselwörtern geändert werden und enthalten die Aliase mit fester Breite.
Wenn Sie unsigned int32_t
schreiben, dann wird der Compiler dies mit Typ als Variable analysieren unsigned
(die Abkürzung für unsigned int
ist) und der Name der Variablen int32_t
sein wird. unsigned int32_t variable_name
wäre ein Syntaxfehler.
Was passiert, wenn Sie es versuchen? (Ich kenne die Antwort darauf, aber Sie nicht und sollte.) – hvd
So wissen Sie, dass uint64_t in stdint.h ist, haben Sie diese Datei geöffnet? öffne es und du wirst verstehen, dass uint64_t nichts anderes ist als ein typedef zu unsigned long long int .. und wenn du weißt was typef ist hast du eine antwort auf deine frage! – Shrikant
Java Programmierer? Es gibt nichts ungewöhnliches an unsignierten Typen. –