c 專案檔案 互相引用的設計方法備忘(單例模式)

2021-10-20 08:02:56 字數 766 閱讀 3436

排兵布陣講究布局章法,軟體也是一樣,小到在資料結構上執行演算法,大到在各個模組上執行流程

單例模式:

在乙個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 但有時候還是必...