文件的一個不利之處在於一個頭文件可能會被多次包含,爲了說
明這種錯誤,考慮下面的代碼:
#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。如果頭文件被再次包含通過條件編譯
頭文件被多次包含的解決辦法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
按Enter鍵時如何避免表單自動提交
sev7en
2018-09-04 10:07:14
省市區數據庫下載,包含34個省級,340個市級,2865個縣級
sev7en
2018-09-04 10:07:13
stm32自設指令協議中,大小端問題的處理
yjt1993
2018-08-28 07:18:20