我想声明将在项目中的各个类中使用的字符串常量。我正在考虑两种选择
选项1:
#header file
class constants{
static const string const1;
};
#cpp file
const string constants::const1="blah";
选项 2:
#header file
namespace constants{
static const string const1="blah";
};
只是想知道什么是更好的实现。
已经看过了
更新:
选项 3:
根据“potatoswatter”和“sellibitze”的建议,我目前有以下实现?
#header file
namespace constants{
extern const string& const1(); //WORKS WITHOUT THE EXTERN ***WHY***
};
#cpp file
namespace constants{
const string& const1(){static string* str = new string ("blah"); return *str;}
}
我在需要使用常量的地方包含了头文件。这个实现有什么主要的缺点吗?