C与C++的区别

C++几乎是C的超集,只有少量功能C++不支持。C语言和C++语言在很多方面是兼容的。
C和C++的关系,就像是win98和winXP的关系。C++是在C的基础上增加了新的理论,玩出了新花样,所以叫C++。
C和C++的区别:
1.C语言是面向过程的,C++是面向对象的。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。而C++首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可通过获取对象的状态信息得到输出或实现过程(事务)控制。这是C与C++的最大区别,也即它们用于解决问题的思想方法是不一样的。
2.类型安全:C语言的一些操作在C++中被认为是非类型安全的,比如(void *)类型的数据使用。
下面这句代码在C中可以编译:

int *x = malloc(sizeof(int) * 10);

而在C++中需要进行强制类型转换才可以:

int *x = (int*) malloc(sizeof(int) * 10);

3.函数重载:C语言不支持函数重载,C++支持函数重载。
4.关键字上:如C++还可以使用new/delete和new[]/delete[]完成对对象的创建和释放,C只使用malloc和free。C++还有auto和explicit关键字,体现的是C++显式和隐式转换的概念。
5.函数参数传递机制:C语言中值传递是唯一可用的参数传递机制, C++既有C的值传递又有引用传递。
6.C++有三大主要特征:封装、继承和多态。封装隐藏了实现细节,使得代码模块化;派生类可以继承父类的数据和方法,扩展已经存在的模块,实现代码重用。
7.C++还具有很多种新的特性,比如C++支持范式编程,如函数模板、模板类,C++的异常机制,强大的STL标准库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值