什麼時候適合使用 C++ 而不是 C?


如果單就語言本身,能用C++的地方都不要用C。

但是有一些情況要考慮到,例如:

  • 團隊中有較多的人不會使用C++;

  • 目標平台缺乏可靠的C++編譯器;

  • 已有代碼嚴重依賴C的ABI and/or API;

這些情況下用C++都是需要仔細考慮的。


知道c++給你在語法上提供了哪些方便的特性,就知道在什麼時候要用它了。所以我能告訴你的是先去了解c++能夠給你帶來什麼。


寫GUI程序的時候


寫通用演算法


當別無選擇的時候(無奈),就使用C++(太複雜)。


你用C++比C熟練的時候


C++是面向對象的程序設計,而c是底層面向過程的,當你設計一個軟體的時候,覺著對象多於函數的時候,就用c++,反之就用c


邏輯代碼都是用c寫,測試代碼用c++寫,因為gtest不錯。

https://github.com/dpull/AssetBundleParser


不是寫系統底層的時候


想用的庫都是C++寫的的時候


寫windows平台pc遊戲。需要大量依賴c++的庫。


高級演算法


需要更高的開發效率(抽象層次與豐富的庫)且又必須兼顧運行效率時


推薦閱讀:

除了emoji,有沒有用utf16兩個位元組表示不了而且現代文章/姓名中會使用的cjkv字元么?
c++如何做設計?或者推薦一些比較簡單的開源項目,適合新手練手的。
單精度浮點數中的「單」和「浮點」是什麼意思?
你為什麼喜歡編程?

TAG:編程語言 | 軟體工程 | C編程語言 | C | CC |