當前位置:編程學習大全網 - 編程軟體 - 是不是很多經典庫和內核是C而不是C++?是的話,為什麽

是不是很多經典庫和內核是C而不是C++?是的話,為什麽

很多是算法庫,底層庫,這些東西就算是用C++來寫,也會更加去傾向使用面向過程的寫法,為了效率,大牛們就會使用模板了,首先是模板這個東西,很多CPP程序員的掌握程度是參差不齊的,那麽在之後維護起來,難度就加大,舍棄掉模板,那麽無疑,C更加合適(有壹點要說的是,加上模板後C++的效率是會比C高的,還記得大明湖畔的qsort嘛,更不要說還有元編程了,在編譯期搞定計算這樣的技術了。)

再來是內核了,越接近底層的東西就越是壹個蘿蔔壹個坑,多態繼承這些基本都是用不太到的,當然OOP思想還是要使用的,還有就是啊,虛表的開銷,首先虛表會占額外的內存,二來頻繁調用肯定是效率極低的,所以在做GUI的時候,消息泵是不用虛函數來做的,各個庫都有其他辦法,我就不多說了。回到內核上,當然妳也可以用C++寫出不用虛函數的多態(用模板就可以做到),但是又是模板,那還不如用C來做。

至於邏輯性,條理性,C壹樣用面向對象的思想來編程,也就不存在這些問題了,詳情可見早期的OpenCV庫。

所以,不得不承認就是C在不需要大量抽象的情況下,會比C++更合適,當然,這裏面並不去比較性能差異。

還有反正C和C++無比的兼容,到時候用C++做個封裝,也是件容易的事情.

  • 上一篇:全新林肯冒險家
  • 下一篇:VB.net 怎麽制作按鍵連發功能
  • copyright 2024編程學習大全網