QT中全局變量的定義


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

我們首先新建兩個文件,文件名可以自定義,我們在這里定義為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進行包含。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM