-
這就是它的意思,為了防止標頭檔案被多次包含,我們會在每個標頭檔案中寫乙個類似於下面的**
a_h#define a_h
內容。 #endif
因此,如果您在兩個地方都有此宣告:
#include ""
所以這個標頭檔案保證只新增一次,你知道為什麼只新增一次嗎? 因為 h 的巨集觀定義是 ha。
然後這實際上沒關係:
如:不新增任何內容。
待命:第乙個呼叫。
#ifndef a_h
#define a_h
#include ""
#endif
第二次通話:
#ifndef a_h
#define a_h
#include ""
#endif
前者稱為內部保護,後者稱為外部保護。
由於外部保護經常被遺忘和濫用,因此我們建議使用內部保護。
Microsoft 提供了乙個指令,使你更容易保護:
Pragma Once 優點:方便,缺點:沒有便攜性。
-
保護程式應用於引用標頭檔案保護,以避免重複包含標頭檔案。 至於什麼是內部和外部保護器,我也不知道。
-
你好! 我們很樂意為您解答。
在 C++ 中,為了防止標頭檔案被多次包含,我們會在每個標頭檔案中寫乙個類似於以下內容的 **
#ifndef a_h
#define a_h
..標頭檔案內容。
#endif
首次包含標頭檔案時,它會通過語句,因為沒有巨集定義過“a h”。
#ifndef a_h
#define a_h
執行後,定義“a h”,標頭檔案的內容進入編譯階段,直到遇到“endif”。
一旦第二次將標頭錯誤地包含,它就與語句 “ifndef a h” 不匹配,因為第一次你已經定義了 “a h”,所以 “ifndef a h” 之後的語句不會進入編譯,直到你遇到 “endif”。
如果標頭檔案被多次包含,則在編譯過程中會報錯。 C++ 標頭保護程式的目的是避免此類錯誤。
-
巨集供編譯器在編譯時檢視。 執行時不起作用,編譯器由基於巨集的編譯器保護。 我不明白我的意思。
-
IFNDEF 徽標。
定義標識。
標頭語句。
#endif
此處的識別符號必須是唯一標識標頭檔案的名稱,該名稱可以由標頭檔案的名稱表示,例如:
stdio_h
一種保護人身安全的電氣安全措施。 在電壓小於1000伏的零連線電網中,如果電氣裝置因絕緣損壞或事故而通電,則形成相線到零線的單相短路,線路上的保護裝置(自動開關或熔斷器)迅速切斷電源, 使裝置的金屬部分長時間不會有危險的電壓,從而確保了人身安全。在多相交流電源系統中,星形連線的繞組的中性點直接接地,使其等於大地,即零電位。 >>>More
我認為你所說的自我保護是指自衛。
自衛,也稱為自衛,是一種保護措施,以防止乙個人在受到他人威脅或身體傷害時受到利益或身體傷害的傷害。 其目的完全不違背法律的意義,其主要行為主要是打擊違法行為,受害者對侵害人採取一系列保護措施,在這種情況下,對肇事者的攻擊受到法律的鼓勵,結果一般不構成犯罪! >>>More