為什么操作系統和底層的都用C寫,而不用C++
為什么操作系統和底層的都用C寫,而不用C++?
C++是從C派生出的,具備C所具備的和C所不具備的(這句話不知道對不)
是因為面向過程更適合操作系統和底層么?
還是因為貝爾實驗室的人那時剛剛為了寫UNIX而發明C,C++還沒發明呢,只好先用C了,哈哈
[解决办法]
具備C所具備的和C所不具備的(這句話不知道對不)
=============这个看你怎么理解,
可以说c++是c的超集,就是说c++具备c有的特性,但是也可以说c++不具有c那么简洁的风格。
因為面向過程更適合操作系統和底層么
============我觉得是其中的一个原因,而更重要的原因还是效率的原因,底层的代码哪怕有1%的速度优势,也是很重要的,
因为底层的代码有可能重复利用是非常高的,所以1%的提高对上层应用的提高都是非常有效的。
总之,最大的原因还是效率。如果java的效率可以比c还高,那么,底层可以用java写。遗憾的是,那是不可能的。
[解决办法]
在系统底层,效率是非常重要的
C++的面向对象特性是牺牲了一点效率,如虚函数表的间接访问
C非常直接,C++代码有很多是由编译器幕后做了很多事
[解决办法]
毫无疑问,在效率方面,C++和C还是有差距的~
[解决办法]
因为C比C++厉害,哈哈
[解决办法]
不涉及C++复杂特性,两者应该没什么差别,C++反而跟安全,因为语法更严格
涉及C++高级、复杂特性的是另一回事
[解决办法]