2010-08-09 47 views
1

我有一个字符串变量:使用在整个项目中全局声明的字符串变量

string name =“MyName”;在一个cpp文件中。

如何在同一个项目中的其他类中使用相同的字符串变量。

+0

您是否曾考虑将其作为静态成员放入课程中,例如称为“参数”? – 2010-08-09 05:50:56

回答

4

extern string name;在其他文件中,然后将这些对象链接在一起。

0

你可以尝试

inline string GetName(){return "MyName";} 

你可以把对标题

这样你就不必担心把定义在一个随机.cpp文件

你也可以做

#define NAME "MyName" 

这通常是不好的,首先,因为compil呃可能会更努力地发现这个字符串是无处不在的字符串。还有宏命令的其他问题(如命名空间)

这个方法的一个好处是,由于编译器在宏展开后自动连接相邻字符串的方式,它可以更容易地将字符串粘合在一起(整个预处理步骤)

也就是说,你可以去:

printf("My name is " NAME); 
0

我想你可以做一个配置文件,并为 例如

#define NAME "MYName" 


of make a char * a = "MYName"; 
做的#define

并在每个文件中包含config.cpp应该可以正常工作。

+0

char * =“MYName”形成C++代码。 – 2010-08-09 09:42:16

+0

@Maxim:格式良好,但不推荐使用。试图使用非const指针来修改字符串文字是不合格的。 – 2010-08-09 11:29:38

+0

你说得对。忘记了C兼容性要求。 – 2010-08-09 12:51:22