gpt4 book ai didi

c++ - 什么等同于 C/C++ 中的 java static final 成员变量?如何通过一些计算来初始化它?

转载 作者:行者123 更新时间:2023-11-28 00:24:02 27 4
gpt4 key购买 nike

在 java 中,你可以有这样的东西:

public class Foo {
public static final int myStatic = computeValue();

private int static computeValue() { ... }

}

在 C/C++ 中有类似的东西吗? (注意 - 我不能使用 c++11,遗憾的是它有各种各样的好东西)

我想要这样的东西

/*static final*/ size_t charsInLong = snprintf(NULL, 0, "%l", MAX_LONG)

最佳答案

不是java专家,但很确定

class Foo {
public:
static int myStatic;
private:
static int computeValue() { return 1; }
};
int Foo::myStatic(computeValue());

等同于您的 Java 代码(不包含“final”关键字)。要防止修改 myStatic 使用 const:

class Foo {
public:
const static int myStatic;
private:
static int computeValue() { return 1; }
};
const int Foo::myStatic(computeValue());

关于c++ - 什么等同于 C/C++ 中的 java static final 成员变量?如何通过一些计算来初始化它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25980276/

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