避免標頭檔案的多重包含

2021-06-18 17:51:12 字數 278 閱讀 7791

通過預處理器變數,我們可以以標頭檔案保護符的形式避免在已經見到標頭檔案的情況下重新處理該標頭檔案的內容。

使用預處理器變數作為標頭檔案保護符。預處理器變數有兩種狀態:已定義與未定義。#define指示接受乙個名字並定義該名字為預處理器變數。#ifndef指示檢測指定的預處理器變數是否未定義。如果預處理器變數未定義,那麼跟在其後的所有指示都被處理,直到出現#endif。

如 #ifndef test_h

#define test_h       

//標頭檔案內容

#endif

標頭檔案經常需要其他標頭檔案 避免多重包含

在編寫標頭檔案之前,我們需要引入一些額外的預處理器設施。預處理器允許 我們自定義變數。預處理器變數 的名字在程式中必須是唯一的。任何與預處理器 變數相匹配的名字的使用都關聯到該預處理器變數。為了避免名字衝突,預處理器變數經常用全大寫字母表示。預處理器變數有兩種狀態 已定義或未定義。定義預處理器變數和...

標頭檔案多重包含

include檔案的乙個不利之處在於乙個標頭檔案可能會被多次包含,為了說明這種錯誤,include a.h include b.h 如果a.h和b.h都包含了乙個標頭檔案x.h。那麼x.h在此也同樣被包含了兩次,只不過它的形式不是那麼明顯而已。多重包含在絕大多數情況下出現在大型程式中,它往往需要使用...

C 避免重複包含標頭檔案方法

為了避免同乙個標頭檔案被包含 include 多次,c c 中有兩種巨集實現方式 一種是 ifndef方式 另一種是 pragma once方式。在能夠支援這兩種方式的編譯器上,二者並沒有太大的區別。但兩者仍然有一些細微的區別。方式一 ifndefsomefile h definesomefile ...