Aqu*_*irl 3 c++ static constructor
使用静态初始化程序:
Run Code Online (Sandbox Code Playgroud)public class MyClass { static { //init } }
在C++中可以做类似的事情吗?
实际上,我需要初始化一些变量,但我不想创建一个对象.
如果变量是static成员,则不仅可以初始化它们,还必须初始化它们.
没有直接等效的Java初始化列表,但可以通过调用函数来初始化静态成员来完成类似的操作:
class X
{
static bool x;
}
bool foo()
{
//initialization code here
}
bool X::x = foo();
Run Code Online (Sandbox Code Playgroud)
这适用于具有强烈逻辑的情况.如果你想要的只是初始化static成员,那就这样做吧X::x.
实际上,我需要初始化一些变量,但我不想创建一个对象.
如果变量在类之外,则直接初始化它们(不需要为此调用代码).
如果变量是static类的成员,请使用上述方法之一.
如果变量是非static成员,则它们在没有对象的情况下就不存在.