3 回答
TA贡献1934条经验 获得超2个赞
class foo{ private: static int i;};
int foo::i = 0;
注:int
, bool
, char
class foo{ private: static int const i = 42;};
TA贡献1946条经验 获得超4个赞
class foo{private: static int i;};
int foo::i = 0;
foo::i
extern int i
int i
class foo{private: static int i; const static int a = 42;};
TA贡献1847条经验 获得超11个赞
头文件用于声明。
头文件每编译一次.cpp
直接或间接地#includes
它们和任何函数之外的代码都在程序初始化时运行,在此之前。main()
.
提出:foo::i = VALUE;
进入头部,foo:i
将被分配值VALUE
(不管是什么).cpp
文件,这些赋值将以不确定的顺序(由链接器确定)在此之前发生。main()
都跑了。
如果我们#define VALUE
成为我们中的一个不同的数字.cpp
档案?它会编译得很好,在我们运行程序之前,我们将无法知道哪一个赢了。
不要将已执行的代码放入头中,原因与您从未执行过的原因相同。#include
a .cpp
档案。
包括护卫(我同意你应该经常使用),保护你不受不同的东西影响:相同的标题是间接的。
- 3 回答
- 0 关注
- 1166 浏览
添加回答
举报