Zeiger: Deklarieren mit Asterisk-Platzierung
In C und C unterscheiden sich Zeigerdeklarationen im Stil, was oft zu Verwirrung führt. Es stellt sich die Frage: Soll das Sternchen (*) neben dem Typnamen oder dem Variablennamen platziert werden?
Platzierungskonventionen
Zwei primäre Platzierungskonventionen sind üblich:
Type-adjacent: Das Sternchen wird neben dem Typ platziert name.
someType* somePtr;
Variable-adjacent: Das Sternchen wird neben dem Variablennamen platziert.
someType *somePtr;
Bedeutung und Präferenz
Während beide Konventionen zur gleichen Funktionalität führen, hängt die bevorzugte Platzierung von der persönlichen Präferenz und der wahrgenommenen Logik ab.
Die Konvention Typ-angrenzend betont den Typ der Zeigervariablen mit der Angabe „Der Typ von somePtr ist ein Zeiger auf someType.“
Umgekehrt ist die Die Variable-Adjacent-Konvention betont den Typ der Daten, auf die verwiesen wird, und besagt: „Der Datentyp, auf den somePtr zeigt, ist someType.“
Choice Matters?
Der Compiler unterscheidet nicht zwischen den beiden Konventionen. Einige Programmierer glauben jedoch, dass bestimmte Platzierungen die Lesbarkeit oder Klarheit verbessern. Andere betrachten es als eine Frage des Stils, ähnlich der Einrückung und der Platzierung von Klammern.
Fazit
Letztendlich ist die Wahl zwischen den beiden Platzierungskonventionen subjektiv. Obwohl beide gültig und austauschbar sind, finden einige Programmierer möglicherweise eine logischer oder ästhetisch ansprechender als die andere. Das Verständnis der zugrunde liegenden Semantik und Präferenzen kann dabei helfen, Ihren Codierungsstil zu prägen und die Kommunikation mit anderen Entwicklern zu verbessern.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3