比较C语言与C++语言:两种编程语言的对决

发表时间: 2024-05-18 14:55

相似点

C 和 C++ 非常类似,具体来说:

  • 相似的语法,C++ 有少量扩展
  • 相同的代码结构
  • 相似的代码编译
  • 几乎所有 C 中的运算符和关键字同样适用于 C++
  • 内存模型均贴近硬件
  • 均存在堆栈、堆、文件范围和静态变量等概念

不同点

尽管 C 和 C++ 非常类似,但它们之间也有许多区别:


C

C++

发明人

丹尼斯·里奇

(Dennis Ritchie)

本贾尼·斯特劳斯特卢普

(Bjarne Stroustrup)

开发时间

1969 - 1973

1979

文件扩展名

.c

.cpp .c++ .cc .cxx

编程范式

过程式

过程式 + 面向对象

编程驱动方式

函数驱动

对象驱动

专注于

方法和过程

数据

数据类型

内置数据类型

内置数据类型 + 用户定义数据类型

关键字

C90: 32 个

C99: 37 个

C11: 44 个

C23: 59 个

C++98: 63 个

C++11: 73 个

C++17: 73 个

C++20: 81 个

标准 IO 头文件

stdio.h

iostream.h

动态内存分配与释放

函数 malloc()、free()

运算符 new、delete

输入 / 输出

scanf() / printf()

cin / cout

信息隐藏

不支持

支持(通过封装)

多态

不支持

支持

封装

不支持

支持

继承

不支持

支持

函数重载

不支持

支持

运算符重载

不支持

支持

结构体中的函数

不支持

支持

命名空间

不支持

支持

引用变量

不支持

支持

虚函数

不支持

支持

友函数

不支持

支持

异常处理

不支持

支持

访问修饰符

严格类型检查

类型双关(联合体)

C99 及以后

未定义行为(极少数特例)

命令初始化器

可以无序

必须匹配结构体布局

元编程

宏定义 + _Generic()

模板(已废弃)

#头条创作挑战赛##c语言、c++和c的区别在哪#