日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C++中的防卫式声明

發布時間:2024/1/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中的防卫式声明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

防衛式聲明(guard)的寫法及其作用。

先按住不說 guard 的寫法,我們先談談為什么需要在頭文件開頭加上防衛式聲明。

假如你現在在擼一個項目,該項目需要包含眾多頭文件:

#include<iostream> #include<math> ...

你的代碼中需要用到iostream、與 math 這兩個頭文件,但是 math 中也包含了iostream的頭文件,當不寫防衛式聲明的時候,相當于包含了兩次 iostream,這樣就導致了頭文件被重復包含。重復包含會導致程序不知道用哪個,即使兩個頭文件中的聲明及其定義都一模一樣!

這就需要用到guard了。
在編寫iostream的頭文件的時候,我們可以在編寫的第一行寫上:

#ifndef __IOSTREAM__H#define __IOSTREAM__H...//...為 iostream中的聲明或者定義代碼 #endif

我這里特意縮寫了宏定義,為了讓你看清楚邏輯。
當你需要包含iostream頭文件的時候,你會寫上#include,這個時候,編譯器就會預編譯這里的代碼,如果之前#include的其他頭文件中已經有了 __IOSTREAM__H 這個宏定義,那么這里的代碼就不會運行,這樣就防止造成iostream頭文件的重復性包含。

防衛式聲明的寫法:
當然宏名無所謂(這里的__IOSTREAM__H),但是最好還是見名知意,防止以后查代碼的時候方便。大致的寫法參照上面的就行了。

總結

以上是生活随笔為你收集整理的C++中的防卫式声明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。