最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

C++ 編寫頭文件

2023-03-20 20:05 作者:S-a-i_  | 我要投稿

我們可以在函數(shù)體中定義我們的類,但是這樣的類并不方便我們的管理,所以我們一般把類定義在函數(shù)體外,同時要注意在各個指定的源文件中可能只有一處該類的定義,而且如果要在不同文件中使用同一個類,類的定義就要保持一致。

為了確保各個文件中類的定義一致,類通常被定義在頭文件中,而且類所在的頭文件應該與類的名字一樣。例如,庫函數(shù)string類應該在名為string.h的頭文件中定義。

頭文件中通常包含一些只能定義一次的實體,例如const,constexpr變量。

頭文件有時需要調用其他頭文件的功能,例如一個類中可能需要string成員,因此要調用string.h。

注意:頭文件一旦改變,相關源文件必須重新編譯以獲得更新后的聲明。

預處理器:

確保頭文件多次包含仍能工作的常用技術為預處理器,他由C++從C語言處繼承。預處理器是在編譯之前執(zhí)行的一段程序,可以部分的改變我們所寫的程序。

C++程序還會用到一項預處理功能是頭文件保護符,其依賴于預處理變量,預處理變量有已定義和未定義兩種狀態(tài)。

#define把一個名字設為預處理變量。

#ifdef當且僅當變量已定義時為真,#ifndef當且僅當變量未定義時為真。一旦檢查結果為真,則執(zhí)行后續(xù)操作直到遇到#endif為止。這些功能能有效防止重復包含的發(fā)生。

第一次包含Sales_data.h時,#ifndef為真,預處理器將順序執(zhí)行后面的操作知道遇見#endif。此時預處理變量SALES_DATA_H的值將變?yōu)橐讯x,而且Sales_data.h也將被拷貝到我們的程序中來。后面如果在一次包含Sales_data.h,則#ifndef為假,編譯器則會忽略#ifndef到#endif的部分。

注意:預處理變量無視C++作用域的規(guī)則。

整個程序的預處理變量包括頭文件保護符必須唯一,通常做法是基于頭文件中類的名字來構建保護符的名字,以確保唯一性,一般我們用全大寫來定義預處理變量的名字。

注意:不管你的程序需不需要保護,我們都應該習慣性的加上保護。

C++ 編寫頭文件的評論 (共 條)

分享到微博請遵守國家法律
福清市| 桃园县| 循化| 基隆市| 公安县| 安达市| 陇西县| 蒙城县| 城固县| 荔波县| 江安县| 云南省| 长乐市| 汕头市| 思茅市| 大渡口区| 临安市| 浠水县| 泗阳县| 万州区| 河北区| 通州市| 铅山县| 沙洋县| 正镶白旗| 察雅县| 扬中市| 崇礼县| 云阳县| 宣化县| 五华县| 星座| 日照市| 陵川县| 庆安县| 乐东| 威海市| 溧阳市| 乡宁县| 曲阜市| 绥阳县|