像 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
是一个 不完整的类型 像这样。
一个简单的例子:
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
是一个 不完整的类型 像这样。