2010-08-09 46 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