C和C++的一些区别

C++和C的机制区别

开辟空间的new和malloc

  • new是类型安全的,而C中的malloc不是,如下面代码

作为简单函数的inline和宏定义

  • 内联函数和宏定义都是在编译的时候替换代码
  • 内联函数的调用是传参,宏定义是简单的文本替换
  • 内联函数inline是在程序运行时调用,而宏定义define在程序编译时调用,
  • 内联函数inline具有类型检测,是类型安全的

在C++中,允许重载

C++允许有相同的函数名,不过它们的参数类型不能完全相同,这样这些函数就可以相互区别开来。而这在C语言中是不允许的。也就是C++可以重载,C语言不允许。

宏定义和typedef

  • 二者都可以做别名的配置
  • 宏替换发生在编译之前(也就是预处理阶段的文本替换,简单的文本替换—可能会导致出错,如所用变量名的变量发生改变),typedef发生在编译阶段,是语言编译过程的一部分,但是并不分配内存空间。
  • 宏不检查类型,typedef会进行类型检查
  • 宏不是语句,不用‘;’,typedef需要。
  • 建议使用typedef

在C++中,除了值和指针之外,新增了引用。

string类的增加

关键字的增加

  • bool
  • using
  • dynamic_cast等四种强制类型转换
  • namespace

更新中……

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值