原标题:简述:为什么C++没有完全取代C
C与C++设计理念
C倾向于简单、优雅,主张代码清晰。从一开始,C语言就是为系统级编程而设计,程序运行效率至关重要
C++几乎可看作C语言的超集,只有少量的C功能不支持(如变长数组),把C实现过程抽象成类并实例化管理
语言本身
C语言相对C++来说,编译快、易学习、显式描述程序细节、较少更新标准
C++包含大部分 C 的功能,提供了OOP特性,虽然C也能模拟OOP,但C++语法能更方便实现
C++相比 C 添加了大量额外的语言特性,更丰富的标准库,相应的 C++ 比 C 要更加复杂、抽象
C++有更丰富的功能,C 指针和宏也基本能解决所有问题(但实现复杂的功能时就像在重造一遍 C++)
最后
要注意的是”C 语言为 C++ 子集“是错误的,只能说是“几乎”
从以上可得出,C++与 C 理念和语言特性有很大的不同,主要原因可归结于两者是独立的语言,面向场景有所不同,就目前而言底层的硬件依然是 C 的领域,虽然C++ 也可以,但历史遗留原因和 C 的天然优势,使 C++ 极难在这方面完全取而代之
在其它方面, C++ 出现后大部分使用 C 的场景被 C++ 所取代,甚至 Windows 操作系统底层部分模块也使用了 C++ 实现,可以把它看作是时代的进步、科技的发展必然结果。同理,如今很多曾属于 C++ 的领域被Java、C#、python、go……等语言所占领,但也不能说这些语言就能代替C++
想了解更多信息请关注(公众号:hopetech-xsh)
责任编辑: