C++ Wierd指针构造

C++ Wierd指针构造,c++,arduino,C++,Arduino,我遇到过这个指针结构,我不熟悉它。 有人能解释一下吗 void Test_GPS::begin(uint16_t baud) { gpspointer->begin(baud); } ->的作用是什么?而且它似乎是递归的。在开始编程之前,你真的应该买一本C/C++书籍,学习你的语言 ->是指针的解引用运算符。当您有一个指针时,gpspointer表达式(*gpspointer)将返回指向的对象gpspointer(*gpspointer).begin(波特)与gpspointer

我遇到过这个指针结构,我不熟悉它。 有人能解释一下吗

void Test_GPS::begin(uint16_t baud)
{
    gpspointer->begin(baud);
}

->
的作用是什么?而且它似乎是递归的。

在开始编程之前,你真的应该买一本C/C++书籍,学习你的语言

->
是指针的解引用运算符。当您有一个指针时,
gpspointer
表达式
(*gpspointer)
将返回指向的对象
gpspointer
(*gpspointer).begin(波特)
gpspointer->begin(波特)
相同。它只是增加了可读性


只有当
gpspointer=this

什么是
gpspointer
类型时,您的代码才会递归?这不是很递归。递归将是
this->begin(波特)
。这只是调用某个其他指针上的<代码>开始/代码>方法。不管运算符重载,<代码> A->B <代码>是代码< >(*A)的一个缺省。B<代码>“1”,你是认真的吗?它在C和C++两个指针的任何基本介绍中都有介绍,所以“WiRD”。这是一种夸张。这个问题最好通过阅读a来回答。谢谢你,伊克拉布。现在有道理了。我以前从未见过这种说法。我的K&R书没有提到它。K&R是关于ANSI C,而不是C++,我怀疑K&R没有提到<代码> -> /Cord>运算符。嗯,大约25年前我读过我的K&R,所以也许我在这方面错了。@Trillian86索引上说它在第二版的131页和201页。