栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C和C++的一些区别

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C和C++的一些区别

目录
  • C++和C的机制区别
    • 开辟空间的new和malloc
    • 作为简单函数的inline和宏定义
    • 在C++中,允许重载
    • 宏定义和typedef
    • 在C++中,除了值和指针之外,新增了引用。
    • string类的增加
    • 关键字的增加

C++和C的机制区别 开辟空间的new和malloc
  • new是类型安全的,而C中的malloc不是,如下面代码
作为简单函数的inline和宏定义
  • 内联函数和宏定义都是在编译的时候替换代码
  • 内联函数的调用是传参,宏定义是简单的文本替换
  • 内联函数inline是在程序运行时调用,而宏定义define在程序编译时调用,
  • 内联函数inline具有类型检测,是类型安全的
在C++中,允许重载

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

宏定义和typedef
  • 二者都可以做别名的配置
  • 宏替换发生在编译之前(简单的文本替换—可能会导致出错,如所用变量名的变量发生改变),typedef发生在编译阶段
  • 宏不检查类型,typedef会进行类型检查
  • 宏不是语句,不用‘;’,typedef需要。
在C++中,除了值和指针之外,新增了引用。 string类的增加 关键字的增加
  • bool
  • using
  • dynamic_cast等四种强制类型转换
  • namespace

更新中……

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1034732.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号