亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于在C++編程中:#ifndef _TEST_H 后面這個TEST_H為什么是大寫?

關于在C++編程中:#ifndef _TEST_H 后面這個TEST_H為什么是大寫?

SMILET 2021-05-27 22:19:22
我記得頭文件里是用的小寫的Test,h,為什么在實現文件里要寫成大寫TEST_H???這個宏定義一定要這樣要求嗎?實際上這個_TEST_H寫成其它的都可以咯,字母代號其實沒有意義,相當于只是一個注釋?
查看完整描述

2 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

這里的#ifndef是條件編譯,不知道你是否了解這個,它完整的結構是#ifndef /*一些代碼*/ #endif 將上面的例子代入到這里就是如果 _TEST_H_ 是沒有被定義過的,那么就執行中間的代碼,如果已經被定義過了,就不執行中間的代碼,這里的
_TEST_H 是一個常量,而跟你所說的頭文件是沒有什么關系的,只是書寫的形式上有點像,不知道這樣解釋你是否明白?

查看完整回答
反對 回復 2021-05-30
?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

Test.h是頭文件的名字,這里是_TEST_H是預處理變量,就是在編譯頭文件之前檢測該變量是否定義過,如果未定義則編譯頭文件代碼,主要是為了防止頭文件的多重包含,一般大寫來防止與其他變量沖突,便于區分。

查看完整回答
反對 回復 2021-05-30
  • 2 回答
  • 0 關注
  • 670 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號