像 class Bar *bar 这样的指针的名称是什么

What is the name for a Pointer like class Bar *bar

一个简单的例子:

void foo(class Bar * bar) {
    foo2(bar);
}

void foo2(Bar * bar) {
    bar->a++;
}

foo2 中使用的指针是指向 class 栏的标准指针。 好的 - foo 中使用的指针也是指向 class 栏的指针。但是class酒吧在这个地方一定不为人知。

我找不到 foo 参数的正确命名。它是一个指向匿名class的指针? class Bar *bar 的正确名称是什么?

您需要的是forward declaration

你可以阅读它 in the documentation or in a different post

来自文档:

Declares a class type which will be defined later in this scope. Until the definition appears, this class name has incomplete type. This allows classes that refer to each other.

我会称其为内联转发class声明,但我认为没有专门的名称。

它只是告诉我们有一个 class Bar 所以它可以在这个范围内使用。

不能 仅用此呼叫 Bar 的成员。它只是说,并没有说明它是什么。 Bar 是一个 不完整的类型 像这样。