
在C/C++中,宏定義的有效范圍被規定為當前檔案內有效,
“當前檔案內有效”分為兩種情況,一種是定義在頭檔案中,另一種是定義在源檔案中,
1)在頭檔案中的宏定義,隨著頭檔案一同被包含到源檔案中時,此時宏定義在該源檔案中有效,當頭檔案中的宏定義隨著該頭檔案一起被包含到另一個頭檔案中,而這另一個頭檔案又被另一個源檔案包含,則該宏定義在最終被包含的源檔案中同樣有效,
2)當宏定義定義在源檔案中時,只在當前源檔案中有效,即使當前源檔案所對應的頭檔案被其它源檔案包含,由于相應的頭檔案中不包含宏定義,其它源檔案也不能直接使用該宏定義,(也就相當于檔案內的私有成員,只能被檔案內的成員使用),
當然在該檔案中有效的含義是在宏定義陳述句之后的部分,同一個檔案中宏定義陳述句之前,使用該宏是無效的,
這就是C語言中宏定義的作用范圍,在C++中無論是類內還是方法內都不建議使用宏定義,可用const成員代替,C++中類內的宏定義和方法中的宏定義都是一樣的,只跟類所在的檔案相關,與類相關的概念(如繼承)并沒有什么關系,在定義兩個相同的宏名對應不同的值時,取最新定義的宏名,
在C++類內或者方法內定義的宏不具有很好的可讀性,
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~
UP在主頁上傳了一些學習C/C++編程的視頻教程,有興趣或者正在學習的小伙伴一定要去看一看哦!會對你有幫助的~
分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
免費學習書籍:

免費學習資料:


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/255446.html
標籤:C
上一篇:C++面向物件:C++ 資料封裝
