从名字上可以看到,C++是C语言的更高级别版本,在C语言的基础上增加了面向对象的概念,有类的对象,支持封装,继承,派生,多态等等多个功能。
由于C++在C语言的基础上增加了很多功能,导致其编译代码后的运行效率要比C语言的低一些,在其嵌入式或者单片机领域,芯片的性能一般都是有限的,所以基本上都是使用C语言进行开发的。但是在PC机和服务器领域,以及一些高端的嵌入式linux系统中,由于系统性能很强,并不在意程序执行效率低一点的情况,反而因为项目的复杂性,更在意编码过程的简洁性,所以C++相对来说更有优势。
在嵌入式中,还是 C 用的比较多的,可能只是在使用Qt的时候才使用C++
在电脑上的编程,C++的使用的多,C比较少的
C++可以视为是C语言的升级版本,在C的基础上,C++引入的比较常见的特性包括函数可重载,结构体里面允许定义函数,然后就是class与namespace的使用
目前嵌入式系统开发几乎还是全部用的C语言,用C++会造成空间消耗大的问题
而在算法,openCV等应用上面,C++会用的比较多
C更偏向于底层,C++更偏向于应用开发
一般情况下,C++是C的超集,即C能实现的东西,C++都能实现,不过在嵌入式领域,因为环境相对特殊,开发工具配套等等因素,所以C比C++更多的用于裸机开发。但在其它领域,确实C++能覆盖C的所有开发。
此外C++是面向对象开发,C是面向过程开发。一些库原生只支持C++的开发,比如常见的图形图像算法库OpenCV。
c++的内容比c多很多,c++有封装,继承,多态特点,c++也是面向对象的语言,这个和c不一样,现在上位机一般都是c++开发软件的,c已经很少用了
感觉区别很大,C++发源于C但是又比C高级很多。C++一般都是开发上位机,C一般用于编程驱动底层硬件。
具体说来,还是看每个人的习惯和具体用途吧。
一般来说,C是基础,在C上编译通过了程序,C++肯定可以跑,反之C++的某些特性是C不具备的。
至于大家说单片机上C用的更广泛,那是由于目前C的编译器更贴近汇编,可以实现的效率更高,如果未来资源不是那么紧缺,相信C++一样可以广泛应用。
区别还是很大的,C++是面向对象 的,是有类的概念,还有继承等等,与C不同的是,C是面向过程的编程方式。
现在来说,在驱动层,C用的多,在应用层C++用的多
底层的多用 c ,高级的应用多用 c++
比如 单片机开发,底层算法,FreeRTOS linux 底层要求效率的地方用 c 多
高级的图形系统,Qt opencv库 用的 c++ 比较多,或者是一些类 c++
c语言是面向过程的语言,c++是面向对象的语言,c++源于c,但是高于c,
c语言多是应用于底层这一块的开发,在系统级之上的开发都是c++/c#/Java这些了,