成員存取運算子: .->

語法

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

備註

成員存取運算子 .-> 可用來參考 、 unionclass 類型的成員 struct 。 成員存取運算式具有選定成員的值和類型。

成員存取運算式有兩種形式:

  1. 在第一個表單中, postfix-expression 表示 、 classunion 類型的值 struct ,並將 id-expression 指定 structunion 、 或 class 的成員命名為 。 作業的值是 的 id-expression ,如果 postfix-expression 為 l 值,則為 l 值。

  2. 在第二個表單中, postfix-expression 表示 、 或 class 的指標 struct ,並將 id-expression 指定 structunionunionclass 的成員命名為 。 值是 的 id-expression ,且 為 l 值。 運算子 -> 會取值指標。 運算式 e->member 和 (其中 e 代表指標)會產生相同的結果(除非運算子 ->* 多載)。 (*(e)).member

範例

下列範例示範成員存取運算子的兩種形式。

// 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++ 內建運算子、優先順序和關聯性
類別和結構
結構和等位成員