小编Kyl*_*ish的帖子

在C ++中,在成员函数中定义静态常量变量有什么好处?

我正在使用一个其构造函数在实现中声明并初始化静态const变量的类。这不是该类的数据成员。我了解在这种情况下使用const,但是使用static有什么好处呢?

我知道该类的所有实例都共享静态const全局常量。构造函数内部的变量也会发生这种情况吗?

另外,为什么不像其他两个那样在Global范围内对此进行定义?那就是我通常定义常量的地方。

示例代码

#includes...

static const int GLOBAL_CONST1 = 100;
static const double GLOBAL_CONST2 = 1.0;

SomeClass::SomeClass()
   :
      theDataMember1        (),
      theDataMember2        (),
      ...
{

   static const double SOME_VAR = 0.01; // Why not declare this globally?
   theDataMember1 = SomeIncludedClass(SOME_VAR);

}
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
4535
查看次数

标签 统计

c++ ×1