排兵布陣講究布局章法,軟體也是一樣,小到在資料結構上執行演算法,大到在各個模組上執行流程
單例模式:
在乙個cpp裡定義乙個全域性變數(指標)
qstring *a;//全域性變數(任何函式之外)
//----在建構函式中new出來(至少不能成為野指標)
a=new qstring("hello");
其他**件extern這個變數型別及變數
extern qstring *a;
//----在本檔案的函式中使用
char* temp = a->data();
在**件裡宣告它
#defined globle_string a
在cpp檔案的區域性函式中static宣告乙個變數及型別
//在乙個區域性函式中寫
static qstring a("hello");
其他檔案引用這個**件
//----在引用了**件的函式中使用
char* temp = globle_string.data();
這裡要知道static關鍵字在記憶體中的安排方式
static修飾區域性變數的時候,該變數的儲存空間由棧變為靜態區(來自:c語言static關鍵字的作用詳解 | 雅樂網 (yalewoo.com))
c 互相引用導致無限迴圈引用的報錯
在寫乙個大的程式時,常常要定義很多類,每個類有各自的用途。乙個類很可能會包含另乙個類定義的成員變數。假如有乙個類a,乙個類b。類a有乙個成員變數b b。類b有乙個成員變數a a。這時我們在定義類a和類b時會分別在開頭時包含引用到的.h檔案。這樣會導致編譯出錯。具體例子如下 mutou.h檔案 如下 ...
C或C 引用標頭檔案的方法
經常會遇到兩種include引用標頭檔案的情況,其實區別很簡單,如下 include 引用的是編譯器類庫路徑裡面的標頭檔案。假如你編譯器定義的自帶標頭檔案引用在c keil c51 inc 下,則 include 引用的就是c keil c51 inc stdio.h 這個標頭檔案,不管你的專案在什...
C 中基礎類互相引用帶來的問題
在一些大的工程中,可能會包含幾十個基礎類,免不了之間會互相引用 不滿足繼承關係,而是組合關係 也就是需要互相宣告。好了,這時候會帶來一些混亂。如果處理得不好,會搞得一團糟,根據我的經驗,簡單談談自已的處理辦法 編碼時,我們一般會盡量避免include標頭檔案,而是採用宣告 class 但有時候還是必...