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

구문

:
postfix-expression . template 선택id-expression
postfix-expression -> template 선택id-expression

설명

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

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

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

  2. 두 번째 모양에서 postfix-expressionstruct, union 또는 class에 대한 포인터를 나타내고 id-expression은 지정된 struct, union 또는 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++ 기본 제공 연산자, 우선 순위 및 결합성
클래스 및 구조체
구조체 및 공용 구조체 멤버