멤버 액세스 연산자: .->

구문

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

설명

멤버 액세스 연산 . 자이며 -> , unionclass 형식의 struct멤버를 참조하는 데 사용됩니다. 멤버 액세스 식에는 선택한 멤버의 값과 형식이 있습니다.

다음 두 가지 형태의 멤버 액세스 식이 있습니다.

  1. 첫 번째 폼 postfix-expression 에서 , 또는 union 형식의 classstruct값을 나타내고 id-expression 지정된 structunion멤버의 이름을 지정합니다class. 연산값은 id-expression의 값이며 postfix-expression이 l-value인 경우 l-value입니다.

  2. 두 번째 폼 postfix-expression 에서 , 또는 classunion대한 포인터를 struct나타내고 id-expression 지정된 structunion멤버의 이름을 지정하거나 class이름을 지정합니다. 값은 id-expression의 값이며 l-value입니다. 연산자는 -> 포인터를 역참조합니다. 식 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;
}
2/1/1900
2/1/2000

참고 항목

후위 식
C++ 기본 제공 연산자, 우선 순위 및 결합성
클래스 및 구조체
구조체 및 공용 구조체 구성원