全域性變數一般這樣定義:
1。在一類的.cpp中定義 int myint;
然後再在要用到的地方的.cpp裡extern int myint;這樣就可以用了。
2。在stdafx.cpp中加入:
int myint;
然後在stdafx.h中加入:
extern int myint
這樣定義以後無論在什麼檔案中都是可見的.
3。比較規範的是,先定義乙個glbs.h,把所有的全域性變數原始定義放進去。然後定義乙個externs.h,把你先前定義在glbs.h中的變數都加上extern。注意:如果你在glbs.h中設定了初值,那麼在externs.h中就不要加值了。然後呼叫時,第一次呼叫的#i nclude ,以後呼叫的#i nclude
另:vc中使用全域性變數的2種辦法及防錯措施
[ 2005-8-17 13:16:00 | by: freeion ]
1.對於全域性變數存在和函式一樣的問題,為了在其他cpp檔案中能夠訪問這些變數,必須在主檔案的h檔案中加上extern宣告,格式如下:
extern
如果要定義整個工程的全域性變數,在任何乙個cpp檔案中進行定義,然後在需要引用這個變數的檔案中進行宣告。如全域性變數很多可以選擇使用定義全域性變數的。h檔案,在需要的地方直接include標頭檔案即可,不需要寫那麼多extern了。
2*=*
->
var=*=
*->cs=
"global
"防錯措施:
若定義的函式和全域性變數在多個檔案包含且造成巢狀或多次呼叫的話,這樣將導致這個標頭檔案每被包含依次,函式或變數就被重新定義一次,在鏈結編譯時會導致重定義錯誤。為此需要使用一種被稱為guard macro的技術來保證不出錯。在乙個標頭檔案開頭加上
#ifndef _macro_1_
#define
_macro_1_
在檔案末尾增加
#endif
關於python全域性變數
描述global best pec1 def main best prec1 1 train def train print best prec1 報錯 best prec1沒有定義。原因 當函式中定義同名的區域性變數時,原來定義的全域性變數會被區域性變數覆蓋掉。因此train 中就不再有變數bes...
關於全域性變數 01
take off land.件 bool ctrl ref valid false take off land.cpp檔案,有自己的main函式 include take off land.h void main traj server.cpp檔案,有自己的main函式 include take o...
static全域性變數 全域性變數
1 全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是...