国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

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++ 編寫頭文件的評論 (共 條)

分享到微博請遵守國家法律
佛学| 荔波县| 南召县| 上林县| 南平市| 海原县| 平顶山市| 新丰县| 定日县| 四子王旗| 中超| 榆社县| 双鸭山市| 酉阳| 江城| 宣城市| 中山市| 江达县| 盐山县| 盈江县| 千阳县| 梧州市| 陆丰市| 尼木县| 施秉县| 合川市| 新化县| 岳西县| 赣榆县| 广宗县| 台中市| 阿拉尔市| 山东省| 泰顺县| 西乡县| 凤冈县| 巨野县| 金湖县| 新河县| 临高县| 大安市|