Heim > Backend-Entwicklung > C++ > Const-Referenz in C: Const vor oder nach dem Typspezifizierer?

Const-Referenz in C: Const vor oder nach dem Typspezifizierer?

Mary-Kate Olsen
Freigeben: 2024-11-15 10:52:02
Original
242 Leute haben es durchsucht

Const Reference in C  : Const Before or After the Type Specifier?

Const-Referenz: Vorher vs. Nachher Typspezifizierer

In C gibt es einen subtilen Unterschied in der Syntax für die Deklaration einer Const-Referenz:

int foo1(const Fred &arg) {
...
}
Nach dem Login kopieren
int foo2(Fred const &arg) {
...
}
Nach dem Login kopieren

Beide Deklarationsmethoden erzeugen eine konstante Referenz auf ein Fred-Objekt. Die Platzierung des const-Schlüsselworts hat jedoch keine semantischen Auswirkungen.

Aus Stilgründen

Obwohl das Verhalten dieser Deklarationen identisch ist, gibt es stilistische Präferenzen Bedenken Sie.

Einige bevorzugen const T& (und const T*) und zitieren:

  • Anpassung an Stroustrups Buch und den C-Standard
  • Vertrautheit unter erfahrenen C-Programmierern
  • Allgemeine Verwendung in der Branche

Andere bevorzugen T const& (und T const*), basierend auf der Lesbarkeit:

  • Konsistente Analyse von rechts nach links
  • Reduziertes Risiko, das * falsch zu platzieren oder T const* falsch zu interpretieren

Rechts-nach-Links-Parsing

Das Rechts-nach- Die linke Parsing-Regel besagt, dass Deklarationen von rechts nach links gelesen werden sollten. Daher kann const T& als „eine Referenz auf eine const T“ oder „eine const T-Referenz“ interpretiert werden. Ebenso kann T const& als „eine konstante Referenz auf ein T“ oder „eine T-konstante Referenz“ gelesen werden. Beide Interpretationen sind grammatikalisch korrekt, sodass die Platzierung des Schlüsselworts const weniger Einfluss auf die Lesbarkeit hat, als manche behaupten.

Letztendlich ist die Wahl zwischen diesen Deklarationsstilen eine Frage der persönlichen Präferenz. Beide sind syntaktisch korrekt und vermitteln die gleiche Bedeutung.

Das obige ist der detaillierte Inhalt vonConst-Referenz in C: Const vor oder nach dem Typspezifizierer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage