【转】C++中#include包含头文件带 .h 和不带 .h 的区别
生活随笔
收集整理的這篇文章主要介紹了
【转】C++中#include包含头文件带 .h 和不带 .h 的区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C++中#include包含頭文件帶 .h 和不帶 .h 的區(qū)別?
如 #include <iostream> 和 #include <iostream.h> 包含的東西有哪些不同?之前在寫(xiě)C++程序的時(shí)候只知道使用 #include <iostream> 的時(shí)候,使用函數(shù)前要用
using namespace std; 導(dǎo)入命名空間,而 #include <iostream.h> 則不用,這個(gè)得看C+
+標(biāo)準(zhǔn)化過(guò)程為C++開(kāi)發(fā)者做了哪些有意義的工作。(1)C++增加了名稱空間概念,借以將原來(lái)聲明在全局空間下的標(biāo)識(shí)符聲明在了
namespace std下。
(2)統(tǒng)一C++各種后綴名,如.h、.hpp、.hxx等。標(biāo)準(zhǔn)化之前的頭文件就是帶后綴名的文
件,標(biāo)準(zhǔn)化后的頭文件就是不帶后綴名的文件。C++ 98 規(guī)定用戶應(yīng)使用新版頭文件,對(duì)舊
版本頭文件不在進(jìn)行強(qiáng)制規(guī)范,但大多數(shù)編譯器廠商依然提供舊版本頭文件,以求向下兼
容。也就是說(shuō)帶 .h 的頭文件是舊標(biāo)準(zhǔn)的,如果想用新的標(biāo)準(zhǔn)的頭文件就不要帶 .h。另外,為了和C語(yǔ)言兼容,C++標(biāo)準(zhǔn)化過(guò)程中,原有C語(yǔ)言頭文件標(biāo)準(zhǔn)化后,頭文件名前帶個(gè)
c字母,如cstdio、cstring、ctime、ctype等等。這些頭文件都可以在 C:\Program
Files\Microsoft Visual Studio 10.0\VC\include 這個(gè)目錄下找到(以VC2010為例)。
也就是說(shuō),我們?nèi)绻肅++標(biāo)準(zhǔn)化了的C語(yǔ)言頭文件,就得作如下的轉(zhuǎn)換#include <stdio.h> --> #include <cstdio>
#include <stdlib.h> --> #include <cstdlib>
#include <string.h> --> #include <cstring>#if !defined(__cplusplus)
# include <mem.h>
#else /* __cplusplus */
# if !defined(__USING_STD_NAMES__)
# include <mem.h>
# else /* __USING_STD_NAMES__ */
# include <memory.stl>
# endif /* __USING_STD_NAMES__ */
#endif /* __cplusplus */C中<*.h>表示優(yōu)先中系統(tǒng)目錄中查找 該頭文件 比如#include <stdio.h> 這是系統(tǒng)中的
"*.h"表示優(yōu)先從當(dāng)前目錄中查找 該頭文件 比如#include "head.h" 這是你自己寫(xiě)的
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的【转】C++中#include包含头文件带 .h 和不带 .h 的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 去年销量为0 众泰汽车从头归来:60亿定
- 下一篇: 【转】C,C++宏中#与##的讲解