成员访问运算符:.
和 ->
语法
postfix-expression
:
postfix-expression
.
template
optid-expression
postfix-expression
->
template
optid-expression
备注
成员访问运算符 .
和 ->
用来引用struct
、union
和 class
类型的成员。 成员访问表达式具有选定成员的值和类型。
有两种形式的成员访问表达式:
在第一种形式中,
postfix-expression
表示struct
、class
或union
类型的值,而id-expression
为指定的struct
、union
或class
的成员命名。 运算的值是id-expression
的值且是一个左值(如果postfix-expression
是左值)。在第二种形式中,
postfix-expression
表示指向struct
、union
或class
的指针,而id-expression
为指定的struct
、union
或class
的成员命名。 该值是id-expression
的值且是左值。->
运算符取消引用该指针。 表达式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
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈