Share via


Operatori di accesso ai membri: . e ->

Sintassi

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

Osservazioni:

Gli operatori . di accesso ai membri e -> vengono usati per fare riferimento ai membri di structtipi , unione class . Le espressioni di accesso ai membri hanno il valore e il tipo del membro selezionato.

Sono disponibili due forme delle espressioni di accesso ai membri:

  1. Nella prima maschera rappresenta postfix-expression un valore , structclasso di union tipo e id-expression denomina un membro dell'oggetto , uniono classspecificatostruct. Il valore dell'operazione è quello di id-expression e è un l-value se postfix-expression è un l-value.

  2. Nel secondo modulo rappresenta postfix-expression un puntatore a un structoggetto , uniono classe assegna id-expression un nome a un membro dell'oggetto , uniono classspecificatostruct. Il valore è quello di id-expression e è un l-value. L'operatore -> dereferenzia il puntatore. Le espressioni e->member e (dove e rappresenta un puntatore) producono risultati identici (tranne quando gli operatori -> o * sono in overload).(*(e)).member

Esempio

Nell'esempio seguente vengono illustrati entrambi i formati dell'operatore di accesso ai membri.

// 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

Vedi anche

Espressioni di postfissi
Operatori, precedenza e associatività predefiniti C++
Classi e struct
Struttura e membri dell'unione