C++中的防卫式声明
生活随笔
收集整理的這篇文章主要介紹了
C++中的防卫式声明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
防衛式聲明(guard)的寫法及其作用。
先按住不說 guard 的寫法,我們先談談為什么需要在頭文件開頭加上防衛式聲明。
假如你現在在擼一個項目,該項目需要包含眾多頭文件:
#include<iostream> #include<math> ...你的代碼中需要用到iostream、與 math 這兩個頭文件,但是 math 中也包含了iostream的頭文件,當不寫防衛式聲明的時候,相當于包含了兩次 iostream,這樣就導致了頭文件被重復包含。重復包含會導致程序不知道用哪個,即使兩個頭文件中的聲明及其定義都一模一樣!
這就需要用到guard了。
在編寫iostream的頭文件的時候,我們可以在編寫的第一行寫上:
我這里特意縮寫了宏定義,為了讓你看清楚邏輯。
當你需要包含iostream頭文件的時候,你會寫上#include,這個時候,編譯器就會預編譯這里的代碼,如果之前#include的其他頭文件中已經有了 __IOSTREAM__H 這個宏定義,那么這里的代碼就不會運行,這樣就防止造成iostream頭文件的重復性包含。
防衛式聲明的寫法:
當然宏名無所謂(這里的__IOSTREAM__H),但是最好還是見名知意,防止以后查代碼的時候方便。大致的寫法參照上面的就行了。
總結
以上是生活随笔為你收集整理的C++中的防卫式声明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【动态规划】CH_0103 最短Hami
- 下一篇: 英语听说