【发布时间】:2010-07-21 13:34:13
【问题描述】:
如果你的类有一些命名常量,那么存储常量的最佳做法是什么:
选项 1:类标头中的命名空间
所以在我的班级标题中我会有:
class myClass
{
...
...
};
namespace NamedConstants
{
const string Bucket = "Bucket";
}
选项 2 成员常量
class MyClass { // this goes in the class
private: // header file
static const string Bucket;
...
};
...并在类实现文件中:
const string MyClass::Bucket = "Bucket";
我实际上更喜欢选项 1,因为它更简洁:变量名和值一起出现。另外,如果你给命名空间一个好名字,那么当你使用常量时它可以使代码更具可读性:
TrafficLight::Green
与选项 2 相比,有人认为此方法有任何问题吗?
【问题讨论】:
-
字符串值是类特定的还是全局的?
-
@DumbCoder 在我的示例中,它们特定于类
-
那么上面的链接肯定有你的答案。
标签: c++ class namespaces constants