Heim  >  Artikel  >  Backend-Entwicklung  >  Ist „this' ein Zeiger oder eine Referenz in C?

Ist „this' ein Zeiger oder eine Referenz in C?

Susan Sarandon
Susan SarandonOriginal
2024-11-25 13:57:11568Durchsuche

Is `this` a Pointer or a Reference in C  ?

Warum „dies“ ein Zeiger und keine Referenz ist

Der Begriff „dies“ in C ruft typischerweise Verwirrung hervor, wie manche meinen es als Hinweis, während andere es als Referenz sehen. Der historische Kontext wirft Licht auf diesen scheinbaren Widerspruch.

Anfangs enthielt C nur Hinweise. Als die Operatorüberladung eingeführt wurde, wurden Referenzen zu einer Notwendigkeit, um die Konsistenz sicherzustellen. Allerdings war „this“ bereits in früheren Versionen als Zeiger etabliert.

Wenn „this“ eine Referenz wäre, wäre für den Zugriff darauf der Operator „&“ erforderlich, was zu „&this“ führen würde. Im Gegensatz dazu erscheint die Syntax für Selbstzuweisungen mit Zeigern, „*this“, prägnanter. Somit überwiegt die Abwärtskompatibilität, dass „dies“ ein Zeiger ist, die potenziellen Vorteile, es als Referenz zu machen.

Während Referenzen Vorteile in Bezug auf Sicherheit und Sicherheit bieten, ist die etablierte Konvention, dass „dies“ ein Zeiger ist bleibt unverändert, da die C-Community Wert auf Abwärtskompatibilität legt.

Das obige ist der detaillierte Inhalt vonIst „this' ein Zeiger oder eine Referenz in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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