由于C語言標(biāo)準(zhǔn)初制定時(shí)對某些標(biāo)準(zhǔn)作出的解釋引起異議,所以有時(shí)候C程序也并非完全都是可移植,而且各個(gè)公司對C標(biāo)準(zhǔn)的實(shí)現(xiàn)有時(shí)候也不是完全實(shí)現(xiàn)了C標(biāo)準(zhǔn)或者加入一些非標(biāo)的東東進(jìn)去,這樣更加導(dǎo)致C程序的可移植性,就好像微軟的IE并未完全符合Html標(biāo)準(zhǔn)一樣,所以就導(dǎo)致網(wǎng)頁制作者要針對不同的瀏覽器設(shè)計(jì)不同的代碼。
為了提高C語言的開發(fā)效率,C標(biāo)準(zhǔn)定義了一系列常用的函數(shù),稱為C庫函數(shù)。C標(biāo)準(zhǔn)僅僅定義了函數(shù)原型,并沒有提供實(shí)現(xiàn)。因此這個(gè)任務(wù)留給了各個(gè)支持C語言標(biāo)準(zhǔn)的編譯器。每個(gè)編譯器通常實(shí)現(xiàn)了標(biāo)準(zhǔn)C的超集,稱為C運(yùn)行時(shí)庫(C Run Time Libray) ,簡稱CRT。對于VC++編譯器來說,它提供的CRT庫支持C標(biāo)準(zhǔn)定義的標(biāo)準(zhǔn)C函數(shù),同時(shí)也有一些專門針對windows系統(tǒng)特別設(shè)計(jì)的函數(shù)。
與C語言類似,C++也定義了自己的標(biāo)準(zhǔn),同時(shí)提供相關(guān)支持庫,我們把它稱為C++運(yùn)行時(shí)庫或C++標(biāo)準(zhǔn)庫。
由于C++對C的兼容性,C++標(biāo)準(zhǔn)庫包括了C標(biāo)準(zhǔn)庫,除此之外還包括IO流和標(biāo)準(zhǔn)模板庫STL。