Operatorüberladung für den Mitgliederzugriff
Operatorüberladung erweitert die Funktionalität vordefinierter Operatoren auf benutzerdefinierte Klassen und ermöglicht es Programmierern, zu definieren, wie sich Operatoren bei Anwendung verhalten zu ihren Instanzen. Diese Frage untersucht das spezifische Verhalten von Mitgliedszugriffsoperatoren ->, ., -> usw.
Was wird an Operatorfunktionen übergeben und von diesen zurückgegeben?
-
->: Akzeptiert keine Argumente und gibt ein Objekt vom Klassentyp zurück. Das zurückgegebene Objekt wird für die Mitgliedersuche verwendet.
-
->*: Akzeptiert alle Argumente und kann alles zurückgeben. Es wird nicht durch das Verhalten der nicht überladenen Version eingeschränkt.
-
.*, .: Kann nicht überladen werden.
Wie bestimmen Operatorfunktionen? das empfohlene Mitglied Zu?
-
->: Das von der Operatorfunktion zurückgegebene Objekt stellt das Mitglied dar, auf das zugegriffen wird.
-
->*: Das Mitglied ist der Operatorfunktion nicht bekannt. Es können jedoch Argumente erforderlich sein, die das Mitglied angeben.
-
.*, .: Diese Operatoren führen eine integrierte Mitgliedersuche durch und können nicht überladen werden.
Const-Überlegungen:
Im Allgemeinen sind sowohl konstante als auch nicht konstante Versionen von „operator[]“ erforderlich Klassen. Mitgliedszugriffsoperatoren:
-
->: Erfordern nur eine nicht konstante Version.
-
->*: Machen Sie keine besonderen Überlegungen zu Konstanten.
-
.*, .: Sind nicht überlastbar.
Das obige ist der detaillierte Inhalt vonWie kann die Operatorüberladung für den Memberzugriff in C genutzt werden?. 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