回覆列表
-
1 # GeeksHub
-
2 # 陳風起
如果都是從零開始(基於標準庫開始),那麼可以肯定的說C++的開發效率遠高於C,至於多少倍就看開發者對語言的熟練程度了,沒有一個確定值。舉個例子,你寫一個要用到連結串列的演算法題,C++有現成的std::list,C要自己寫一個連結串列。不過公司如果是用C的話,肯定早就積累了一堆公共基礎庫。語言越是高階,一般開發效率就越高,畢竟語言本身就集成了太多便利的庫和語法。
再說Linux程式選C還是C++,這就要具體情況具體分析了(先排除使用純C語法寫C++的)。嵌入式程式一般都是選C的,典型的原因如有些嵌入式環境的資源有限,C++的基礎庫以及一些用法(如模板例項化)不經意間就佔用了更大的空間。資源充足的情況,其實愛用啥用啥。畢竟你也可以用純C語法寫C++,等有需要了再用C++特有的語法,編譯工程啥的都不用改
C + RAII + template + lambda + STL,少用虛擬函式,少操作指標,利國利民。
STL本身就是一個C++正確使用方法的例子,大家不要光顧著呼叫,好好體會一下精髓。OOP的用途是有限的。當然做GUI 100%就是OOP,沒得跑,因為OOP當年就是為了GUI發明出來的。
P.S.
其實我並不是在說虛擬函式慢。虛擬函式當然是超級快的,但這並不意味著你就可以放心的使用它。