C与C++的区别

C++的起源

20世纪70年代中期,Bjarne Stroustrup在剑桥大学计算机中心工作。

他使用过Simula和ALGOL,接触过C。

他对Simula的类体系感受颇深,对ALGOL的结构也很有研究,深知运行效率的意义。

既要编程简单、正确可靠,又要运行高效、可移植,是Bjarne Stroustrup的初衷。

以C为背景,以Simula思想为基础,正好符合他的设想。

1979年,Bjame Sgoustrup到了Bell实验室,开始从事将C改良为带类的C(C with classes)的工作。

1983年该语言被正式命名为C++。

自从C++被发明以来,它经历了3次主要的修订,每一次修订都为C++增加了新的特征并作了一些修改。

第一次修订是在1985年,第二次修订是在1990年,而第三次修订发生在c++的标准化过程中。

在20世纪90年代早期,人们开始为C++建立一个标准,并成立了一个ANSI和ISO(Intemational Standards
Organization)国际标准化组织的联合标准化委员会。

该委员会在1994年1月25曰提出了第一个标准化草案。
在这个草案中,委员会在保持Stroustrup最初定义的所有特征的同时,还增加了一些新的特征。

C与C++的区别

  • C是面向过程的语言,C++是面向对象的语言。
  • 动态管理内存的方法,C是使用malloc/free函数,而C++使用new/delete关键字;
  • C中的struct和C++的类,C++的类是C所没有的,但是C中的struct是可以在C++中正常使用,并且C++对struct进行了进一步的扩展,使struct在C++中可以和class一样当做类使用,而唯一和class不同的地方在于struct的成员默认访问修饰符是public,而class默认的是private;
  • C++支持函数重载,而C不支持函数重载,而C++支持重载的依仗就在于C++的名字修饰与C不同,例如在C++中函数int fun(int,int)经过名字修饰之后变为 _fun_int_int ,而C是_fun,一般是这样的,所以C++才会支持不同的参数调用不同的函数(C++编译汇编时,会将重载的函数根据参数表,翻译成不同的函数名来实现重载);
  • C++中有引用,而C没有;这样就不得不提一下引用和指针的区别;
  • C++全部变量的默认链接属性是外链接,而C是内连接;
  • C中用const修饰的变量不可以用在定义数组时的大小,但是C++用const修饰的变量可以(如果不进行&,解引用的操作的话,是存放在符号表的,不开辟内存);
  • 此外,C++还有的一些特性(封装、继承、多态、泛型)等不一一列举了。

C与C++在一些方面哪个更优秀

技术层面

C占用资源少,运行速度较快。
C++面向对象的设计思想,拥有强大的特性和库,开发效率高。

商业层面

C用于嵌入式开发和操作系统的开发。
C++用于商业软件和网络游戏开发。

参考与引用的网址:
[1].https://baike.baidu.com/item/C++/99272
[2].https://blog.csdn.net/bitboss/article/details/62884694

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值