1. 程式人生 > >標頭檔案被多次包含的解決辦法

標頭檔案被多次包含的解決辦法

檔案的一個不利之處在於一個頭檔案可能會被多次包含,為了說
明這種錯誤,考慮下面的程式碼:
#include"x.h" 
#include"x.h" 
顯然,這裡檔案x.h被包含了兩次,沒有人會故意編寫這樣的程式碼。但是
下面的程式碼:
#include"a.h" 
#include"b.h" 
看上去沒什麼問題。如果a.h和b.h都包含了一個頭檔案x.h。那麼x.h
在此也同樣被包含了兩次,只不過它的形式不是那麼明顯而已。 
多重包含在絕大多數情況下出現在大型程式中,它往往需要使用很多頭文
件,因此要發現重複包含並不容易。要解決這個問題,我們可以使用條件編譯。
如果所有的標頭檔案都像下面這樣編寫: 
#ifndef _HEADERNAME_H 
#define _HEADERNAME_H 
.//(標頭檔案內容) 
#endif 
那麼多重包含的危險就被消除了。當頭檔案第一次被包含時它被正常處
理符號_HEADERNAME_H被定義為1。如果標頭檔案被再次包含通過條件編譯