c语言c 的区别,c语言和c 具体有哪些区别?

首先,C++几乎是兼容C语言的,然后再来谈区别,总结起来就是一下几点。

1、面向对象

C++在语言层面上是遵循面向对象的基本要素的,包括封装,继承,多态。

C++支持一种称为函数对象的对象,即重载对象的()运算符,调用时即可进行类似A a; a(); 这种类似函数式的调用。

2、运算符重载

C++支持运算符重载,如+号本来的意义仅存在于数值之间的求和,而标准库的std::string重载了+号,可以用来拼接两个字符串。

3、模版

C++支持模版,包括模版类、模版函数,模版参数类型推断等,差不多就是可以在编译时生成类型,比如代码中只有vector、int、double,但通过组合,vector和vector生成了新的不同的类型。

4、标准库

C++标准库涵盖了C标准库,不过头文件被挪至形似以c开始的头文件中,如和对应。

IO库不一致,C++11新增了线程及同步的一些函数。

STL标准模版库是C++经常会使用到的一个稳定且优秀的标准库之一,里面包含了容器及算法等的通用实现。当然还有像Boost这种优秀的准标准库。

5、异常处理

严格地说,C在语言上是不支持异常的,一般是靠函数返回值、goto语句等来解决异常,

C++支持异常处理,支持try {}catch{}语法,能够在运行时检测异常,包括除零等操作。

6、其它

除了以上提到的,大部分还是来自语言本身的差异,虽说C++是兼容C的,但语法上还是有部分差异,包括类型转换如static_cast,const_cast等,在此不一一列举了。

7、结语

就语言来说,C++无疑比C更复杂,也更难掌握,会C不一定就对C++学的易如反掌,反倒是会C++的一定是会C的,C++11和14已经带来了语言更多的特性,我估计马上推出的17标准和将来的新标准会和C的差距会越来越大,目前个人觉得C++的确最近迈得有点快

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值