gpt4 book ai didi

c++ - C++ 中的静态结构

转载 作者:可可西里 更新时间:2023-11-01 15:31:52 25 4
gpt4 key购买 nike

我想定义一个结构,其中将存储一些数学常量。
这是我现在得到的:

struct consts {
//salt density kg/m3
static const double gamma;
};

const double consts::gamma = 2350;

它工作正常,但会有超过 10 个浮点常量,所以我不想在每个浮点常量之前写“static const”。并定义类似的东西:

static const struct consts {
//salt density kg/m3
double gamma;
};

const double consts::gamma = 2350;

看起来不错,但我遇到了这些错误:
1. 不允许成员函数重声明
2. 非静态数据成员不能在其类之外定义

我想知道是否有任何 C++ 方法可以做到这一点?

最佳答案

使用命名空间而不是尝试将结构放入命名空间。

namespace consts{
const double gamma = 2350;
}

访问数据的方法也有完全相同的synatx。例如:

double delta = 3 * consts::gamma;

关于c++ - C++ 中的静态结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3023643/

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