语法
postfix-expression . name
postfix-expression -> name
备注
成员访问运算符 。 和 -> 用于引用结构、联合和类的成员。 成员访问表达式具有选定成员的值和类型。
有两种形式的成员访问表达式:
在第一种形式中, 后缀表达式 表示结构、类或联合类型的值, 名称 命名为指定的结构、联合或类的成员。 运算的值是 名称 为的值,如果 后缀表达式 是左值,则它是左值。
在第二种形式中, 后缀表达式 表示指向结构、联合或类的指针, 名称 命名为指定的结构、联合或类的成员。 该值是 名称 为的,是左值。 -> 运算符取消引用指针。 因此,表达式 e->member 和 (*e).member (,其中 e 表示指针) 生成相同的结果 (除了运算符 -> 或 * 重载) 时除外。
示例
以下示例演示成员访问运算符的两种形式。
#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;
}
Output
2/1/1900
2/1/2000
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处,本文章博客地址:https://blog.csdn.net/it_cplusplus/article/details/118834874