Share via


メンバー アクセス演算子: . および ->

postfix-expression . name 
postfix-expression –> name

解説

メンバー アクセス演算子の .-> は、構造体、共用体、およびクラスのメンバーを参照するために使用されます。 メンバー アクセス式は、選択したメンバーの値と型を持ちます。

メンバー アクセス式には、次の 2 つの形式があります。

  1. 最初の形式では、postfix-expression は構造体型、クラス型、または共用体型の値を表し、name が指定された構造体、共用体、またはクラスのメンバーに名前を付けます。 postfix-expression が左辺値の場合、この演算の値は name の値で、左辺値です。

  2. 2 番目の形式では、postfix-expression は構造体、共用体、またはクラスへのポインターを表し、name が指定された構造体、共用体、またはクラスのメンバーに名前を付けます。 値は name の値で、左辺値です。 –> 演算子は、ポインターを逆参照します。 したがって、式 e**–>**member および (*e).member (ここで、e がポインターを表す) は、同一の結果になります (演算子 –> または * をオーバーロードする場合を除く)。

使用例

次の例に、メンバー アクセス演算子の両方の形式を示します。

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

参照

関連項目

後置式

C++ 演算子

C++ の演算子、優先順位と結合規則

クラス、構造体、および共用体

概念

構造体と共用体のメンバー