为什么指针使用 - >而不是.?

Bob*_*lan 3 c++ struct pointers

可能重复:
为什么C区分 - >和.?

让我们说我有这个结构:

struct movies
{
    string title;
    int year;
} my_movie, *ptrMovie;
Run Code Online (Sandbox Code Playgroud)

现在我这样访问my_movie:my_movie.year = 1999;
现在访问指针我必须这样做:ptrMovie->year = 1999;

为什么指针使用->运算符而普通数据类型使用.运算符?有什么理由他们不能同时使用.运营商吗?

Nou*_*him 9

的.operator访问结构的成员,只能对结构变量进行操作.如果要对指针执行此操作,首先需要取消引用指针(使用*),然后访问成员(使用.).就像是

(*ptrMovie).year = 1999
Run Code Online (Sandbox Code Playgroud)

->运营商是这个的简写.