Opérateurs d'accès aux membres : . et ->

postfix-expression . name 
postfix-expression –> name

Notes

Les opérateurs d'accès aux membres . et -> sont utilisés pour faire référence aux membres de structures, d'unions et de classes. Les expressions d'accès aux membres ont la valeur et le type du membre sélectionné.

Il existe deux formes d'expressions d'accès aux membres :

  1. Dans la première forme, postfix-expression représente une valeur de type struct, classe ou union et name désigne un membre de la structure, union ou classe spécifiée. La valeur de l'opération est celle de name ; il s'agit d'une l-value si postfix-expression est une l-value.

  2. Dans la seconde forme, postfix-expression représente un pointeur vers une structure, union ou classe et name désigne un membre de la structure, union ou classe spécifiée. La valeur est celle de name ; il s'agit d'une l-value. L'opérateur –> déréférence le pointeur. Par conséquent, les expressions e**–>**member et (*e).member (où e représente un pointeur) génèrent des résultats équivalents (sauf lorsque les opérateurs –> ou * sont surchargés).

Exemple

L'exemple suivant illustre les deux formes de l'opérateur d'accès aux membres.

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

Voir aussi

Référence

Expressions suffixées

Opérateurs C++

Opérateurs, priorité et associativité C++

Classes, structures et unions

Concepts

Structure et membres d'union