這篇文章主要講解了“C++的后綴為.h的頭文件舉例分析”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C++的后綴為.h的頭文件舉例分析”吧!
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)泉州,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
后綴為.h的頭文件C++標(biāo)準(zhǔn)已經(jīng)明確提出不支持了,早些的實(shí)現(xiàn)將標(biāo)準(zhǔn)庫功能定義在全局空間里,聲明在帶.h后綴的頭文件里,c++標(biāo)準(zhǔn)為了和C區(qū)別開,也為了正確使用命名空間,規(guī)定頭文件不使用后綴.h。
因此,當(dāng)使用
一般一個(gè)C++代碼的老的帶“.h”擴(kuò)展名的庫文件,比如iostream.h,在新標(biāo)準(zhǔn)后的標(biāo)準(zhǔn)庫中都有一個(gè)不帶“.h”擴(kuò)展名的相對(duì)應(yīng),區(qū)別除了后者的好多改進(jìn)之外,還有一點(diǎn)就是后者的東東都塞進(jìn)了“std”名字空間中。
問題在于C++要兼容C的標(biāo)準(zhǔn)庫,而C的標(biāo)準(zhǔn)庫里碰巧也已經(jīng)有一個(gè)名字叫做“string.h”的頭文件,包含一些常用的C字符串處理函數(shù),比如樓主提到的strcmp。
這個(gè)頭文件跟C++的string類半點(diǎn)關(guān)系也沒有,所以
要達(dá)到樓主的目的,比如同時(shí):
void func(){ using namespace alex;//using指令 using chris::love;//uisng聲明 love();//chirs::love(); alex::love();//必須這么使用 }
因?yàn)闃?biāo)準(zhǔn)庫非常的龐大,所程序員在選擇的類的名稱或函數(shù)名時(shí)就很有可能和標(biāo)準(zhǔn)庫中的某個(gè)名字相同。所以為了避免這種情況所造成的名字沖突,就把標(biāo)準(zhǔn)庫中的一切都被放在名字空間std中。但這又會(huì)帶來了一個(gè)新問題。無數(shù)原有的C++代碼都依賴于使用了多年的偽標(biāo)準(zhǔn)庫中的功能,他們都是在全局空間下的。
所以就有了
感謝各位的閱讀,以上就是“C++的后綴為.h的頭文件舉例分析”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)C++的后綴為.h的頭文件舉例分析這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!