In allen C ++ - Stilleitfäden, die ich gelesen habe, habe ich nie Informationen über numerische Literalsuffixe gesehen (d. h. 3.14f
, 0L
usw.).
Fragen
Gibt es da draußen einen Style Guide, der über die Nutzung spricht, oder gibt es eine allgemeine Konvention?
Ich habe gelegentlich das Suffix f
in der Grafikprogrammierung. Gibt es einen Trend bei der Verwendung in der Art der Programmierdomäne?
Es gibt keinen allgemeinen Styleguide, den ich gefunden habe. Ich verwende Großbuchstaben und ich bin wählerisch über die Verwendung von F für Float-Literale und L für lange Doppel. Ich benutze auch die passenden Suffixe für integrale Literale.
Ich nehme an, Sie wissen, was diese Suffixe bedeuten: 3.14F
ist ein float
Literal, 12.345 ist ein doppeltes Literal, 6.6666L ist ein langes doppeltes Literal.
Für Ganzzahlen: U
ist unsigned
, L
ist long
, LL
ist long long
. Die Reihenfolge zwischen U
und L
s spielt keine Rolle, aber ich gebe immer UL
ein, weil ich solche Variablen zB unsigned long
deklariere.
Wenn Sie eine Variable eines Typs einem Literal eines anderen Typs zuweisen oder ein numerisches Literal eines Typs für ein Funktionsargument eines anderen Typs bereitstellen, muss ein Cast stattfinden. Das Verwenden des richtigen Suffixes vermeidet dies und ist in der gleichen Weise nützlich wie static_cast zum Aufruf von Casts nützlich ist. Die konsistente Verwendung von numerischen Literalsuffixen ist ein guter Stil und vermeidet numerische Überraschungen.
Menschen unterscheiden sich darin, ob Groß- oder Kleinschreibung am besten ist. Wähle einen Stil, der dir gut steht und konsistent ist.
Die einzige etablierte Konvention (die ich irgendwie kenne) ist, dass ich immer L
anstelle von l
verwende, um zu vermeiden, dass sie mit 1
verwechselt wird. Darüber hinaus geht es darum, das zu verwenden, was Sie brauchen, wenn Sie es brauchen.
Beachten Sie auch, dass C ++ 11 benutzerdefinierte Literale mit benutzerdefinierten Suffixen erlaubt.
Der CERT C-Codierungsstandard empfiehlt die Verwendung von Großbuchstaben:
DCL16-C. Verwenden Sie "L", nicht "l", um einen langen Wert anzugeben
Kleinbuchstabe l (ell) kann leicht mit der Ziffer 1 (Eins) verwechselt werden. Dies kann besonders verwirrend sein, wenn angegeben wird, dass eine ganzzahlige Literalkonstante ein langer Wert ist. Diese Empfehlung ähnelt DCL02-C. Verwenden Sie visuell eindeutige Bezeichner .
Ebenso sollten Sie Großbuchstaben LL anstelle von Kleinbuchstaben ll verwenden, wenn Sie angeben, dass eine ganzzahlige Literalkonstante ein langer Wert ist.
Tags und Links c++ coding-style literals