Heim > Backend-Entwicklung > C++ > Const-Referenz in C: „const T&' oder „T const&' – Was ist der Unterschied?

Const-Referenz in C: „const T&' oder „T const&' – Was ist der Unterschied?

Barbara Streisand
Freigeben: 2024-11-14 18:23:02
Original
589 Leute haben es durchsucht

Const Reference in C  : `const T&` or `T const&` – What's the Difference?

Const-Referenztypen in C: Platzierung des „const“-Qualifizierers

In C gibt es zwei Möglichkeiten, konstante Referenzen mithilfe von zu deklarieren 'const'-Qualifizierer:

const Fred &arg;
Fred const &arg;
Nach dem Login kopieren

Semantik Unterschiede

Semantisch sind diese beiden Deklarationen gleichwertig und die Sprache betrachtet sie als denselben Typ. Es gibt keinen funktionalen Unterschied zwischen der Übergabe eines Arguments per const T& oder T const&.

Stilüberlegungen

Wenn es jedoch um den Stil geht, gibt es unter Programmierern unterschiedliche Vorlieben .

Links-nach-rechts-Analyse

Einige Programmierer plädieren dafür, das Qualifikationsmerkmal „const“ nach dem Typ (T const&) zu platzieren, mit dem Argument, dass es der Parsing-Regel von rechts nach links in C folgt. Dadurch wird sichergestellt, dass beim Lesen der Deklaration das Qualifikationsmerkmal „const“ auf den Typ und nicht auf die Referenz selbst angewendet wird.

Rechts-nach-Links-Analyse

Andere bevorzugen jedoch die const T&-Syntax und argumentieren, dass sie von rechts nach links gleich gut lesbar ist. Es kann als „Referenz auf eine T-Konstante“ interpretiert werden. Darüber hinaus verhindert die Platzierung des Qualifikationsmerkmals „const“ vor der Referenz die versehentliche Deklaration einer Zeigerkonstante wie „T* const“, was unzulässig ist.

Übliche Praxis

In der Praxis sind beide Stile weit verbreitet. Der von Stroustrups „The C Programming Language“ und dem C-Standard bevorzugte Stil ist const T&. Der in K&Rs „The C Programming Language“ und dem C-Standard verwendete Stil ist jedoch T const*. Letztendlich ist die Wahl des Stils eine Frage der persönlichen Präferenz und kann auch von den Kodierungskonventionen bestimmter Organisationen beeinflusst werden.

Das obige ist der detaillierte Inhalt vonConst-Referenz in C: „const T&' oder „T const&' – Was ist der Unterschied?. 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