QT中全域性變數的定義

2022-01-14 01:50:08 字數 787 閱讀 2776

多的就不說了,本來就是乙個簡單地內容,只是不會的話會很頭疼

我們首先新建兩個檔案,檔名可以自定義,我們在這裡定義為variate.h 和 variate.cpp 當然了,字尾是不能變的。

和函式一樣,我們在variate.h中對全域性變數進行宣告,注意,extern 是不能遺漏的

#ifndef variate_h

#define variate_h

extern int num01;

extern qstring str;

#endif // variate_h

我們在variate.cpp中對全域性變數進行定義

int num01;

qstring str = "test";

我們在這裡定義了2個變數,乙個沒有賦值,乙個賦值了

在需要使用這些變數的檔案中,我們將標頭檔案variate.h包含進去就可以使用了。

解惑:有人有這樣的習慣,在標頭檔案中定義乙個static變數,例如定義:static int i; 然後在需要用的地方將標頭檔案包含,然後編譯會提示錯誤,為什麼呢?

原來在標頭檔案.h中定義的static int i 變數系統不會對它進行編譯,只會在包含了它的.cpp檔案中進行編譯,相當於在cpp檔案中定義了乙個static int i 的變數,於是它就成了乙個區域性變數,並不能全域性使用。

所以大家在以後的編碼過程中,一定不要在.h中定義變數,只能在那裡對變數進行宣告。

以上**為檔案中的全部**,請不要畫蛇添足,如果型別不在庫檔案中,可以自行使用#include進行包含。

Qt中全域性變數的使用

一般在專案中想要定義乙個變數可以被多個類進行訪問,此時就可以定義全域性變數。習慣上會將專案中所有類都用到的變數,集中定義在乙個標頭檔案中,使用時只需包含此標頭檔案。但是對於我這樣基礎不牢靠的人,就犯了乙個錯誤,而且當時怎麼也沒找到原因。最後在別人的幫助下,得以解決。現記錄一下。ifndef data...

定義全域性變數

inte ce property strong,nonatomic uiwindow window propertyboolislogin end synthesize window window synthesizeislogin end 那麼在其他的class裡,則可以通過下列 呼叫全域性變數 ...

MFC中定義全域性變數

全域性變數一般這樣定義 1.在一類的.cpp中定義 int myint 然後再在要用到的地方的.cpp裡extern int myint 這樣就可以用了。2.在stdafx.cpp中加入 int myint 然後在stdafx.h中加入 extern int myint 這樣定義的變數以後無論在什麼...