cpp类声明中类常量的定义

问题描述 投票:0回答:0

虽然原则上似乎只能在类的声明中将整数值声明为类常量:

struct Foo{
   static const int N=10;
};

在我的代码中,寻找不会强迫我在编译单元中定义浮点常量的替代方案,我已经看到可以放置(并且有效):

struct Foo
{
    constexpr static float const D1 = 33.8F;
...
 };

事实是我真的不明白为什么,也不明白为什么标准会支持这种语法而不是像这样更自然的语法: 静态常量浮动 D1 = 33.8F;

这是正确的吗?请问哪位专家可以给个解释?

struct Foo
{
    constexpr static float const D1 = 33.8F;
...
 };

它有效

c++ static static-initialization class-constants
© www.soinside.com 2019 - 2024. All rights reserved.