Mitgliedszugriffsoperatoren: . und ->

Syntax

postfix-expression:
postfix-expression.templateoptid-expression
postfix-expression->templateoptid-expression

Hinweise

Die Memberzugriffsoperatoren . und -> werden verwendet, um auf Member von struct, und unionclass Typen zu verweisen. Memberzugriffsausdrücke haben den Wert und Typ des ausgewählten Members.

Es gibt zwei Arten von Memberzugriffsausdrücken:

  1. Stellt im ersten Formular postfix-expression einen Wert von struct, class, oder union Typ, und id-expression benennt ein Element des angegebenen struct, , unionoder class. Der Wert des Vorgangs entspricht id-expression und ist ein L-Wert, sofern postfix-expression ein L-Wert ist.

  2. Stellt im zweiten Formular postfix-expression einen Zeiger auf ein struct, unionoder , oder class, und id-expression benennt ein Element des angegebenen struct, union, oder class. Der Wert ist ein L-Wert und entspricht id-expression. Der -> Operator leitet den Zeiger ab. Die Ausdrücke und (wobei e ein Zeiger steht) liefern identische Ergebnisse (mit Ausnahme der Operatoren ->e->member oder * überladenen Operatoren).(*(e)).member

Beispiel

Im folgenden Beispiel werden beide Formen des Memberzugriffsoperators dargestellt.

// expre_Selection_Operator.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

struct Date {
   Date(int i, int j, int k) : day(i), month(j), year(k){}
   int month;
   int day;
   int year;
};

int main() {
   Date mydate(1,1,1900);
   mydate.month = 2;
   cout  << mydate.month << "/" << mydate.day
         << "/" << mydate.year << endl;

   Date *mydate2 = new Date(1,1,2000);
   mydate2->month = 2;
   cout  << mydate2->month << "/" << mydate2->day
         << "/" << mydate2->year << endl;
   delete mydate2;
}
2/1/1900
2/1/2000

Siehe auch

Postfix-Ausdrücke
Integrierte C++-Operatoren, Rangfolge und Zuordnung
Klassen und Strukturen
Struktur- und Gewerkschaftsmitglieder