C++ 在整个项目中全局使用在一个类中声明的字符串变量

C++ 在整个项目中全局使用在一个类中声明的字符串变量,c++,C++,我有一个字符串变量,如下所示: 字符串名称=MyName;在一个cpp文件中 如何在同一项目中的另一个类中使用相同的字符串变量。extern string name;在其他文件中,然后将对象链接在一起。外部字符串名称;在其他文件中,然后将对象链接在一起。您可以尝试 inline string GetName(){return "MyName";} 你可以把它放在标题里 这样,您就不必担心将定义放在一个随机的.cpp文件中 你也可以这样做 #define NAME "MyName" 首先,这通

我有一个字符串变量,如下所示:

字符串名称=MyName;在一个cpp文件中

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

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

外部字符串名称;在其他文件中,然后将对象链接在一起。

您可以尝试

inline string GetName(){return "MyName";}
你可以把它放在标题里

这样,您就不必担心将定义放在一个随机的.cpp文件中

你也可以这样做

#define NAME "MyName"
首先,这通常是不好的,因为编译器可能会更努力地发现字符串与在任何地方使用的字符串相同。此外,宏ect还存在其他问题,如名称空间

这种方法的一个优点是,它可以更容易地将字符串粘合在一起,这是因为编译器在整个预处理器步骤中进行宏扩展后会自动连接相邻的文本字符串

i、 例如,你可以去:

printf("My name is " NAME);
你可以试试

inline string GetName(){return "MyName";}
你可以把它放在标题里

这样,您就不必担心将定义放在一个随机的.cpp文件中

你也可以这样做

#define NAME "MyName"
首先,这通常是不好的,因为编译器可能会更努力地发现字符串与在任何地方使用的字符串相同。此外,宏ect还存在其他问题,如名称空间

这种方法的一个优点是,它可以更容易地将字符串粘合在一起,这是因为编译器在整个预处理器步骤中进行宏扩展后会自动连接相邻的文本字符串

i、 例如,你可以去:

printf("My name is " NAME);

我认为您可以创建一个配置文件并为此进行定义 范例

#define NAME "MYName"


of make a char * a = "MYName";

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

我认为您可以创建一个配置文件并为此进行定义 范例

#define NAME "MYName"


of make a char * a = "MYName";

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

您是否考虑过将其作为静态成员放入一个类中,例如称为Parameters?您是否考虑过将其作为静态成员放入一个类中,例如称为Parameters?@Maxim:它的格式很好,但不推荐使用。试图使用非常量指针修改字符串文字的格式不正确。@Maxim:格式正确,但已弃用。试图使用非常量指针修改字符串文字是格式错误的。