在C++中放置const的最佳位置在哪里?

All*_*ang 0 c++ coding-style const

我已经完成了C#和C,但是当我来到这个C++项目时,我对这个小代码风格问题感到有些困惑.

我在C++程序中有几个const变量(可能是字符串或数字),我想在一个地方收集它们并从其他类访问它们.

例如,在C#和java中,我们可以有一个资源文件或一个配置文件来存储所有这些数据,或者只是一个单例或静态类.

但是我应该用C++做的最好的方法是什么?我应该将const变量放在头文件中还是创建类似JAVA的类?

Luc*_*ore 5

IMO这是C#和Java的缺点之一 - 一切都必须在一个类中.

在C++中你有 三种选择:

  • 在课堂上
  • 在命名空间中
  • 自由变量(不)

如果您的常量在逻辑上与类相关,请将它们放在类中.否则,请使用namespace.

  • @Walter任何静态类成员都可以是const.积分可以在类定义中初始化,但这是唯一的限制. (4认同)