Cai*_*tri 11 c++ variables syntax static
我一直在学习C++,而且我遇到过静态变量(我从C89获得了先验知识),在我正在使用的资源中,他们在类中声明了一个静态变量,例如:
class nameHere
{
public:
static int totalNum;
}
int nameHere::totalNum = 0;
int main()
{}
Run Code Online (Sandbox Code Playgroud)
例如.我不明白的是,因为我已经声明静态变量是类定义中的整数,为什么我还需要将它声明为类定义之外的整数?简单地初始化就没有意义了:
nameHere::totalNum = 0;
int main()
{}
Run Code Online (Sandbox Code Playgroud)
是否有特定的原因或仅仅是C++的约定?感谢您的帮助!
这可能(可能)使语言更难以解析(并且无论如何已经几乎难以解析).
正因为如此,数据类型(int,long,my_class,等等)告诉编译器什么它看到的是一个声明(在这种情况下,也有定义)的开始.如果没有这个,编译器就会有更困难的时间来解决问题.
在全球范围内的特定情况下,它不会那么糟糕,因为在全球范围内,您可以拥有的是一系列声明.然而,在任何其他范围内,事情会更加困难(并且在全球范围内有一条规则,而另一条规则确实是丑陋的).