【发布时间】:2011-03-02 16:56:27
【问题描述】:
我想定义一个结构,其中将存储一些数学常数。
这是我现在得到的:
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++ 方法可以做到这一点?
【问题讨论】:
-
10 根本不算多。只需复制粘贴
static const double部分。 -
我确信在代码中复制粘贴是最大的罪恶 :)
-
logic 的复制粘贴是个大恶。 static const double 的复制粘贴……没那么多。如果需要 10 个 const,则需要声明它们。
-
复制粘贴函数或您不理解的代码块显然是邪恶的。但是,如果您只需输入 10 次
static const double,而您又懒得做不到,那为什么不复制粘贴呢?
标签: c++ static struct constants