怎么说呢,每一种语言都有他的优势,要看个人使用情况,有得人喜欢用c,有的习惯用c+。
我连你的问题都看不懂
如果都是从零开始(基于标准库开始),那么可以肯定的说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.
其实我并不是在说虚函数慢。虚函数当然是超级快的,但这并不意味着你就可以放心的使用它。