友快網

導航選單

c++比c語言更快?這是一個關於c++的故事. . . . . . .

根本沒有理由說明C++比C慢。用C編寫的任何程式碼都可以按原樣編譯為C ++,或者進行不影響速度的微小修改(例如,如果使用諸如new或class之類的東西)這是C ++中的保留字,名稱需要更改。

這意味著C ++始終可以至少匹配C以獲得速度。

另一方面,特別是在其歷史早期,許多C ++程式碼的執行速度明顯慢於C語言。基本上,這大部分是歷史性的意外-C ++是第一種被廣泛使用的語言,對物件定向提供了合理的支援,因此“專家”(他們通常只有幾個月的OO經驗)使初學者編寫了嘗試過度泛化的程式碼。 ,因此我們最終得到了(例如)繪製幾何形狀的庫,每個形狀的畫素使用幾個動態分配和虛擬函式呼叫。

不過,我要補充一點,C和C ++之間的許多比較確實像將蘋果與桔子進行了比較。例如,人們通常會比較C和C ++的I / O速度,卻忽略了C ++ iostreams庫固有的急劇增加的靈活性。

僅舉一個顯而易見的例子,考慮一下用C與C ++打印出本地格式數字的程式碼。在C ++中,我會做類似的事情:

std :: cout。imbue(std :: locale(“”)));

std :: cout << 1234567。89;

而我得到的結果類似於1,234,567。89,但是某人將其計算機配置為德語語言環境(例如),則會得到類似的資訊:1。234。567,89。

當然,使用C可以完成相同的工作-localeconv支援它。不幸的是,使用localeconv編寫的程式碼只是花費更長的時間,而且更加複雜。

再強調一遍:C ++ iostream確實增加了有意義的靈活性和實用性。

上一篇:小米釋出會首日釋出了dxo第一款產品,但是釋出會上卻有這樣的問題
下一篇:乾貨| 全球頂級公司關注的競爭性程式設計網站大全,這些你一定要收藏!