摘要:C++相對(duì)與其他一些編程語言優(yōu)勢(shì)
C++相對(duì)與其他一些編程語言的優(yōu)勢(shì)在于:
1.性能
性能有個(gè)兩方面,算法速度和機(jī)器代碼效率。一個(gè)算法可以定義為數(shù)據(jù)通過系統(tǒng)的概念化的路徑,它描述一些點(diǎn),在這些點(diǎn)上,數(shù)據(jù)能夠被操作并可轉(zhuǎn)換產(chǎn)生某個(gè)結(jié)果。例如,一個(gè)算法定義為獲取一個(gè)字符串,計(jì)算字符串中的字符個(gè)數(shù),并作為結(jié)果返回的過程。算法與語言是獨(dú)立的,所以在編程之前必須設(shè)計(jì)算法,編寫一個(gè)快速程序的第一個(gè)步驟是設(shè)計(jì)良好的算法,能以最少的操作步驟得出問題的答案。第二個(gè)步是選擇語言,這也影響程序的速度。
性能的角度考慮,用匯編語言編寫程序是最佳的選擇,它是計(jì)算機(jī)能理解的自然語言,但是,幾乎沒有人用匯編語言編寫完整的程序,因?yàn)檫@樣做極其乏味。另一個(gè)最佳的選擇是C語言。然而,由VC++提供的所有工具都產(chǎn)生C++,而不是C。使用VC++的向?qū)Э梢陨纱罅康氖褂么a,而不必人工地編寫代碼》從編寫程序的難易程度和程序的性能綜合考慮,C++是最佳的選擇。
C++性能良好,因?yàn)樗痪幾g為機(jī)器代碼。對(duì)于VBScript和Java等語言,代碼在運(yùn)行時(shí)由程序解釋,而且每次運(yùn)行程序時(shí)都要將代碼轉(zhuǎn)換為機(jī)器碼,這樣做效率比較低,不僅僅是已編譯過的C++程序運(yùn)行得較快,而且微軟C++編譯器己存在多年=這意味著微軟的編譯器程序員已經(jīng)把許多優(yōu)點(diǎn)集中到編譯器上,以致于它能產(chǎn)生非常高效的機(jī)器碼。因?yàn)镃++是編譯語言,而且非常自然,比VB更接近機(jī)器代碼,所以由C++編譯器產(chǎn)生的代碼一定比VB的編譯代碼效率更高。
2.錯(cuò)誤處理
一個(gè)好的程序與一個(gè)偉大的程序的區(qū)別就是其是否具有良好的錯(cuò)誤處理支持。實(shí)際上,如果在實(shí)現(xiàn)中首先進(jìn)行錯(cuò)誤處理,而不是在最后才進(jìn)行,那么整個(gè)'程序的開發(fā)和測(cè)試過程會(huì)更加完美。但是,錯(cuò)誤處理只能與語言所支持的內(nèi)容相-致。
VBScript具有基本的錯(cuò)誤處理支持功能。在默認(rèn)情況下,不能捕獲VBScript中的錯(cuò)誤。每次懷疑產(chǎn)生錯(cuò)誤時(shí),要調(diào)用OnErrorResumeNext功能,并檢査Error對(duì)象。
而C++中的錯(cuò)誤處理比較好,這是因?yàn)橛小爱惓L幚怼?,本章的后面部分將詳?xì)介紹。
3.最小的依賴性
正如上面所說^C++是一種編譯語言,即C++代碼在執(zhí)行之前已轉(zhuǎn)換為機(jī)器碼.只要此代碼不依賴于外部的動(dòng)態(tài)鏈接庫(kù)(DLL),C++就可以在不需要安裝額外程序的情況下移動(dòng)到運(yùn)行同樣操作系統(tǒng)的其他機(jī)器和微處理器上,而移動(dòng)Java程序時(shí)需要先安裝Java運(yùn)行期庫(kù)。
4.利用現(xiàn)有的代碼
由于C和C++已經(jīng)存在許多年了,現(xiàn)在有許多可利用的代碼,你的服務(wù)器組件可以使用現(xiàn)有的C/C++代碼或庫(kù)。例如統(tǒng)計(jì)庫(kù)和到老系統(tǒng)的C接口。
5.最大化COM特征
COM與C++很接近,實(shí)際上,DonBox(COM的)在他的《EssentialCOM》一書的第一章寫道:“COM就是更好的C++”。他說明了COM規(guī)范是如何從C++語
言規(guī)律中產(chǎn)生出來的。通過理解C++,會(huì)對(duì)COM有更深的理解。
某些語言不能利用所有的COM特征,而在C++中,幾乎可以使用所有的COM特征。
返回目錄:
通信工程師考試終端與業(yè)務(wù)培訓(xùn)營(yíng)銷文案寫作匯總
通信工程師考試現(xiàn)代通信市場(chǎng)營(yíng)銷環(huán)境
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬道題
已有25.02萬小伙伴參與做題