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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++头文件包含技巧

發(fā)布時(shí)間:2024/8/22 c/c++ 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++头文件包含技巧 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C++ 中類的聲明和類的定義分開幾乎成了一個(gè)不成文的規(guī)定。這樣做的好處是使得類的聲明和實(shí)現(xiàn)分開,清晰明了,同時(shí)便于庫函數(shù)發(fā)布。但是在實(shí)際編程中由此也常常 引起了一些由于頭文件的包含順序問題而產(chǎn)生的符號(hào)未定義的編譯錯(cuò)誤,不明白其中原理有時(shí)會(huì)讓人很頭疼。要消除符號(hào)未定義的錯(cuò)誤的編譯錯(cuò)誤,最基本的一個(gè)做 法就是在引用一個(gè)符號(hào)(包括變量,函數(shù),結(jié)構(gòu),類等)之前確保它已經(jīng)聲明或者已經(jīng)定義。 ??? 實(shí)際中編碼設(shè)計(jì)過程中,最基本的一個(gè)原則就是在類的頭文件中最好不要包含其他頭文件,因?yàn)檫@樣會(huì)使類之間的文件包含關(guān)系變得復(fù)雜化。要最大限度的遵守這個(gè)原則,實(shí)際編碼設(shè)計(jì)過程可以采用以下兩種方法: ??? 方法一是在設(shè)計(jì)一個(gè)類的時(shí)候盡量保持類的獨(dú)立性,即使該類盡可能不要依賴其他類庫或者函數(shù)庫,或者退一步來說,盡量不要在類的聲明中依賴其他類。這樣,在 該類的聲明頭文件中就可以沒有其他頭文件。如果實(shí)現(xiàn)中用到了其他的類,那么可以只在該類的實(shí)現(xiàn)文件中包含用到的類庫或者函數(shù)庫的頭文件就行。 ??? 方法二是當(dāng)類的聲明中必須得用到其他類庫或者函數(shù)庫時(shí),方法一便不再適用,當(dāng)一個(gè)類聲明中引用的是其他類或結(jié)構(gòu)的指針引用或者是函數(shù)引用時(shí),也可以保持上 述原則,做法是采用前向引用,及在該類的聲明前面先聲明一下該類所用到的類名或者函數(shù)名就行。當(dāng)類聲明中引用的是其他類的實(shí)例時(shí),上述原則變不能保持,只 有在該類的聲明頭文件中引用所引用的類庫或者函數(shù)庫的頭文件。 然而,實(shí)際中,如果一個(gè)類要用到很多其他的類指針或者結(jié)構(gòu)指針或者函數(shù)名時(shí),雖然采用上述方法二可以保持上述原則,但是在該類的前面將所有用到的類和方法聲明一遍會(huì)比較麻煩,這種情況下,為了方便也只好在該類的聲明頭文件中加入其他類庫或者函數(shù)庫中的頭文件了。 下面舉幾個(gè)例子: 例子1:最簡單的一種情況:兩個(gè)類A和B之間完全沒有關(guān)系 這種情況下兩個(gè)類的聲明和定義文件中根本不需要包含對(duì)方的聲明頭文件。(雖然是廢話,但是很多人的代碼中卻大量存在這種情況下仍然互相包含或者包含頭文件的情況,主要原因:懶,不想多思考) 例子2:兩個(gè)類A和B在實(shí)現(xiàn)的時(shí)候用到了對(duì)方 這種情況只需要在每個(gè)類的實(shí)現(xiàn)文件文件中包含所用到的類的頭文件即可。 例子3:兩個(gè)類A和B在聲明的時(shí)候通過指針引用到了對(duì)方 這種情況下可以在類的聲明(頭文件中)前面聲明一下所用到的類,然后在各自的頭文件中包含所用的類的聲明頭文件。比如: // A.h class?? B;?? class?? A?? {?? B?? *pb;?? } // B.h? class?? A;?? class?? B?? {??
A?? *pa;?? }
// A.cpp #inclue "B.h" #inclue "A.H" ...... // B.cpp #inclue "A.h" #inclue "B.h" ...... ??? 還有,在大型工程程序設(shè)計(jì)中,一個(gè)類往往需要用到很多已有的類庫及函數(shù)庫,把一個(gè)類所用到的所有類庫頭文件都加入到類的定義頭文件中往往也非常麻煩,這時(shí) 的做法是把那些經(jīng)常用到的頭文件加入到一個(gè)公共的頭文件中,這個(gè)公共頭文件在比如叫push.h。要注意的是一些頭文件也有依賴關(guān) 系,這些文件的包含順序也小心,否則就會(huì)出錯(cuò)。ps,頭文件的包含順序應(yīng)該是從最特殊到一般,比如:我們應(yīng)該以這樣的方式來#include頭文件: 從最特殊到最一般,也就是, #include "本類頭文件" #include "本目錄頭文件" #include "自己寫的工具頭文件" #include "第三方頭文件" #include "平臺(tái)相關(guān)頭文件" #include "C++庫頭文件" #include "C庫頭文件"

轉(zhuǎn)載于:https://www.cnblogs.com/zhanglanyun/archive/2012/02/02/2335889.html

總結(jié)

以上是生活随笔為你收集整理的c++头文件包含技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕免费高 | 啪啪av| 欧美久久久久久久久久 | 视频二区中文字幕 | 久久一区二区三区四区 | 老外毛片| 伊人影院在线观看视频 | 大象传媒成人在线观看 | 99精品黄色 | 999色综合 | 俄罗斯乱妇 | 国产成人无码一区二区三区在线 | 少妇喷潮明星 | 国产少女免费观看高清 | 啪啪资源| 免费国产a| 欧美成人午夜剧场 | 美女张开腿让人桶 | 国产精品手机视频 | 五月天黄色小说 | 91精品小视频 | 超碰网站在线观看 | 亚洲激情六月 | 中文字幕av不卡 | 精品亚洲乱码一区二区 | 精品久久久无码中文字幕 | 亚洲最新在线视频 | 男男gay同性三级 | 亚洲综合精品视频 | 国产污污| 欧美黑人巨大xxx极品 | 麻豆av免费看 | 国产一区二区精彩视频 | 国产精品腿扒开做爽爽爽挤奶网站 | 99视频免费在线观看 | 亚洲视频在线一区二区 | 亚瑟av在线 | 黄色尤物视频 | 亚洲AV无码一区二区三区蜜桃 | 包射屋 | 国产原创91 | 一级黄色免费毛片 | 丰满熟妇肥白一区二区在线 | 成人毛片a | 美女视频一区二区三区 | 91不卡在线 | 无码精品人妻一区二区 | 69亚洲精品久久久蜜桃小说 | 免费成人高清 | 日韩欧美一区二区三区在线 | 日韩欧美国产精品综合嫩v 国产小毛片 | 亚洲国产aⅴ成人精品无吗 日韩乱论 | 欧美骚视频 | 欧美一区二区最爽乱淫视频免费看 | 欧美放荡性医生videos | 国产一级大片在线观看 | 精品人妻人人做人人爽 | 99re6这里只有精品 | 在线一二区 | 大屁股白浆一区二区 | 少妇无码一区二区三区免费 | 欧美xxxx黑人 | 免费午夜人成电影 | 国产码视频 | 欧美激情亚洲激情 | 欧美成人三级视频 | 天天看天天做 | 成人精品视频在线播放 | 亚洲精品国产一区二区 | 色香色香欲天天天影视综合网 | 野外(巨肉高h) | 日日爱av| 中文字幕一区久久 | 最新激情网站 | 国产精品一区二区不卡 | 亚洲狼人av | 欧美日韩精品在线观看 | 尤物在线视频观看 | 夜夜操网址 | 秋霞午夜鲁丝一区二区老狼 | 天天尻逼 | 丁香花高清视频完整电影 | 精品不卡在线 | 国产精品免费久久 | 91影院在线观看 | 亚洲国产免费av | 三上悠亚影音先锋 | 久久久久无码精品国产 | 不许穿内裤随时挨c调教h苏绵 | 黄色一几片 | 色桃视频 | 日韩欧美在线一区 | 亚洲精品福利 | 男女偷爱性视频刺激 | 久久艹影院 | www.日韩在线观看 | 一本色道久久88综合日韩精品 | 亚洲 自拍 另类 欧美 丝袜 | 黄色av网站免费观看 |