我記得頭文件里是用的小寫的Test,h,為什么在實現(xiàn)文件里要寫成大寫TEST_H啊?這個宏定義一定要這樣要求嗎?實際上這個_TEST_H寫成其它的都可以咯,字母代號其實沒有意義,相當(dāng)于只是一個注釋?
2 回答

翻過高山走不出你
TA貢獻(xiàn)1875條經(jīng)驗 獲得超3個贊
這里的#ifndef是條件編譯,不知道你是否了解這個,它完整的結(jié)構(gòu)是#ifndef /*一些代碼*/ #endif 將上面的例子代入到這里就是如果 _TEST_H_ 是沒有被定義過的,那么就執(zhí)行中間的代碼,如果已經(jīng)被定義過了,就不執(zhí)行中間的代碼,這里的
_TEST_H 是一個常量,而跟你所說的頭文件是沒有什么關(guān)系的,只是書寫的形式上有點像,不知道這樣解釋你是否明白?

夢里花落0921
TA貢獻(xiàn)1772條經(jīng)驗 獲得超6個贊
Test.h是頭文件的名字,這里是_TEST_H是預(yù)處理變量,就是在編譯頭文件之前檢測該變量是否定義過,如果未定義則編譯頭文件代碼,主要是為了防止頭文件的多重包含,一般大寫來防止與其他變量沖突,便于區(qū)分。
添加回答
舉報
0/150
提交
取消