【发布时间】:2018-07-03 01:56:12
【问题描述】:
我正在使用 C++ 进行编码,我想知道定义 const 变量的最佳方式。
据我了解,如果我想在 cpp 文件中定义一个 const 变量,我们可以像之前这样编写代码:const static int LEN = 5; 现在 C++ 建议我们使用匿名命名空间:namespace { const int LEN = 5; }
我不知道如何在头文件中正确定义 const 变量。
我在一些头文件中看到了一些代码如下:
const int LEN = 5;
那么这是最好的方法吗?为什么不在头文件中编码const static int LEN = 5;?
【问题讨论】:
-
static是从哪里来的?为什么要使用它?定义const值时不需要static。首先是什么引起了您的问题? -
@AnT 老兄,这是我的问题...我想知道我们是否应该/可以在头文件中编码
const static int LEN = 5。 -
(为了正确回答问题,最好首先知道是什么触发了它。)不,我们不应该。只需使用
const int LEN = 5;,无论它是在头文件中还是在其他任何地方。匿名命名空间也是不必要的。在 C++ 中,const已经包含static。无需明确说明。 -
这里所说的“最好的方法”是完全没有意义的。这就像在问“什么是最好的汽车”。这取决于。是否需要动力、燃油经济性、外观或保修。 “最好的汽车”会有很大的不同,具体取决于特定的要求。同样,定义常量变量的各种方式都有其针对不同情况的特定语义。要找出“定义 const 变量的最佳方式”,您需要了解差异是什么,以及它们的含义,然后根据具体情况选择“最佳方式”根据您的具体情况。
-
"C++" 没有任何建议
标签: c++ static namespaces constants