关于c ++:类名后面的分号是什么?


What does a semicolon after a class name do?

本问题已经有最佳答案,请猛点这里访问。

我在读的书中注意到这样的代码行:

1
2
3
4
5
6
7
8
9
10
11
12
namespace sf
{
class RenderWindow;
}

class StateStack;
class Player;

class State
{
    // Code for the class
};

仅包含类、类名和分号的行是什么意思?


这是前向声明。他们让我们知道下面的代码有一个RenderWindow类名称,StateStackPlayer。本论文的第一个编译器,当它用于湖的名字。在左后想找到类的定义。


这是一个前馈信号不明确,它的定义是,在后续的编译全想的地方。

这是主用例的用例,你不需要完整的定义,例如,如果你有一个指针的类型T你不需要完整的定义和其T直到instantiation因此不需要有一个T*宣言。