Heim > Backend-Entwicklung > C++ > Hauptteil

Warum ist „this' ein Zeiger und keine Referenz in C?

Patricia Arquette
Freigeben: 2024-11-24 10:18:11
Original
483 Leute haben es durchsucht

Why Is `this` a Pointer and Not a Reference in C  ?

Warum ist „dies“ ein Zeiger und keine Referenz?

C-Programmierer stoßen oft auf Verwirrung darüber, dass „dies“ eher ein Zeiger als „dies“ ist eine Referenz. Dieses Problem ergibt sich aus historischen Designentscheidungen und der schrittweisen Entwicklung der Sprache.

Anfangs enthielt C nur Zeiger, keine Referenzen. Als jedoch die Operatorüberladung eingeführt wurde, wurden Referenzen als notwendig erachtet, um die Konsistenz sicherzustellen.

Während die Verwendung von Referenzen für „this“ die Notwendigkeit der „&this“-Syntax überflüssig machen würde, würde es zu Komplikationen bei Zuweisungsoperatoraufrufen kommen, bei denen „ *this“ wäre anstelle von „this“ erforderlich.

Außerdem ist die Abwärtskompatibilität von C von größter Bedeutung. Das Ändern von „this“ von einem Zeiger in eine Referenz würde erhebliche Codeänderungen erfordern, was es zu einer unpraktischen Wahl macht.

Daher bleibt „this“ ein Zeiger in C, um die Kompatibilität mit vorhandenem Code aufrechtzuerhalten und den unterschiedlichen Anforderungen gerecht zu werden seiner Benutzergemeinschaft.

Das obige ist der detaillierte Inhalt vonWarum ist „this' ein Zeiger und keine Referenz in C?. 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