C++:成员访问运算符:. 与->

C++:成员访问运算符:. 与->

  • 语法
  • 备注
  • 示例

语法

postfix-expression . name
postfix-expression -> name

备注

成员访问运算符 。 和 -> 用于引用结构、联合和类的成员。 成员访问表达式具有选定成员的值和类型。

有两种形式的成员访问表达式:

在第一种形式中, 后缀表达式 表示结构、类或联合类型的值, 名称 命名为指定的结构、联合或类的成员。 运算的值是 名称 为的值,如果 后缀表达式 是左值,则它是左值。

在第二种形式中, 后缀表达式 表示指向结构、联合或类的指针, 名称 命名为指定的结构、联合或类的成员。 该值是 名称 为的,是左值。 -> 运算符取消引用指针。 因此,表达式 e->member 和 (*e).member (,其中 e 表示指针) 生成相同的结果 (除了运算符 -> 或 * 重载) 时除外。

示例

以下示例演示成员访问运算符的两种形式。


#include 
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

你可能感兴趣的:(C++语言学习文档)