gpt4 book ai didi

c++ - 当一个类中的所有方法都是静态的时,如何调用构造函数?

转载 作者:太空狗 更新时间:2023-10-29 20:15:35 26 4
gpt4 key购买 nike

https://stackoverflow.com/a/8839647/462608

Use the static initializer:

public class MyClass
{
static {
//init
}
}

在 C++ 中可以做类似的事情吗?
实际上,我需要初始化一些变量,但我不想创建一个对象。

最佳答案

如果变量是static 成员,您不仅可以初始化它们,而且必须初始化它们。

没有直接等效的 Java 初始化列表,但是可以通过调用函数来初始化静态成员来完成类似的事情:

class X
{
static bool x;
}

bool foo()
{
//initialization code here
}

bool X::x = foo();

这适用于具有强烈逻辑的情况。如果您只想初始化 static 成员,只需像 X::x 那样做即可。

Actually, I need to initialize some variables, but I don't want to create an object.

如果变量在类之外,直接初始化它们(不需要为此调用代码)。

如果变量是类的static 成员,请使用上述方法之一。

如果变量是非static 成员,则它们在没有对象的情况下根本不存在。

关于c++ - 当一个类中的所有方法都是静态的时,如何调用构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12583134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com