Das weglassen der Datentyp (z.B. "unsigned" statt "unsigned int")
Ich weiß, dass, wenn die Datentyp-Deklaration weggelassen wird, die in C/C++ - code in der Weise: unsigned test=5;
der compiler automatisch macht diese variable ein int (unsigned int in diesem Fall). Ich habe gehört, dass es ein C-standard und es funktioniert in allen Compilern.
Aber ich habe auch gehört, dass dies zu tun ist, als eine schlechte Praxis ist.
Was denkst du? Sollte ich wirklich der Typ unsigned int
statt nur unsigned
?
Sind short
, long
und long long
auch die Datentypen?
- Nur sah es, und kam hierher, um zu Fragen, genau dasselbe. Mag es nicht, aber es ist so.
Du musst angemeldet sein, um einen Kommentar abzugeben.
unsigned
ist ein Datentyp, der! Und es passiert aliasunsigned int
.Beim schreiben
unsigned x;
Sie sind nicht Verzicht auf eine Daten-Typ.Dies ist völlig anders als "Standard -
int
", die es in C (aber nicht in C++!) wo man wirklich weglassen, die geben auf eine Erklärung und C automatisch folgert, dass der Typ zu seinint
.Als für den Stil, ich persönlich bevorzuge eindeutig sein und so zu schreiben
unsigned int
. Auf der anderen Seite, ich bin derzeit in einer Bibliothek, wo es die Konvention zu schreiben einfachunsigned
, so dass ich nicht stattdessen.unsigned
ist eigentlich nur ein alias fürunsigned int
short
,long
&long long
Datentypen dann?unsigned
ist ein alias fürunsigned int
in der gleichen Weise wie C++ (Abschnitt 6.7.2).Ich würde sogar noch einen Schritt weiter und nutzen stdint's uint32_t geben.
Es könnte eine Frage des Geschmacks, aber ich bevorzuge zu wissen, was primitiv ich bin, über einige antiken Berücksichtigung der Optimierung der pro Plattform.
std::uint32_t
ist nicht eine "primitive". Es ist ein optionalestypedef
auf eine Art, dass muss genau 32 bits und kann oder kann nicht eine primitive.Als @Konrad Rudolph sagt,
unsigned
ist ein Datentyp. Es ist eigentlich nur ein alias fürunsigned int
.Als die Frage, mit
unsigned
schlechte Praxis? Ich würde sagen Nein, es ist nichts falsch mit der Verwendungunsigned
als ein Datentyp-Bezeichner. Profis werden nicht geworfen, und jede coding-standard, der sagt, Sie haben zu verwendenunsigned int
ist unnötig Drakonisch, wie ich meine.Überflüssiger Ausführlichkeit als schädlich. Ich würde nie schreiben
unsigned int
oderlong int
odersigned
nichts (außerchar
oder bitfields), weil es erhöht die Unordnung und verringert die Menge der sinnvollen code können Sie fit in 80 Spalten. (Oder, wahrscheinlicher, ermutigt die Menschen, um code zu schreiben, das passt nicht in 80 Spalten...)unsigned int
" ich auch nicht! ..."odersigned
" dieses ich bin nicht sicher; ich habe tendenziell lieber schreibensigned
alsint
, für die Symmetrie mitunsigned
... aber es ist in der Tat ein Punkt, derint
besser ist wegen seiner Kürze.