멤버 액세스 연산자:
구문
:
postfix-expression
.
template
선택id-expression
postfix-expression
->
template
선택id-expression
설명
. 및 -> 멤버 액세스 연산자는 struct, union 및 class 형식의 멤버를 참조하는 데 사용됩니다. 멤버 액세스 식에는 선택한 멤버의 값과 형식이 있습니다.
다음 두 가지 형태의 멤버 액세스 식이 있습니다.
첫 번째 모양에서
postfix-expression은struct,class또는union형식의 값을 나타내고,id-expression은 지정된struct,union또는class멤버의 이름을 지정합니다. 연산값은id-expression의 값이며postfix-expression이 l-value인 경우 l-value입니다.두 번째 모양에서
postfix-expression은struct,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