之间的相似之处C和C++是:
- 两种语言都有相似的语法。
- 两种语言的代码结构相同。
- 两种语言的编译是相似的。
- 它们共享相同的基本语法。几乎所有C的运算符和关键字也都存在于C++中, 并且执行相同的操作。
- C++的语法比C略有扩展, 但是基本语法是相同的。
- 两者的基本内存模型都非常接近硬件。
- 两种语言都具有相同的栈, 堆, 文件作用域和静态变量的概念。
C和C++之间的差别是:
C++可以说是C的超集。C++的主要新增功能是面向对象编程,异常处理和丰富的C++库。
下表是C和C++之间的区别表:
C | C++ |
---|---|
C由Dennis Ritchie在1969年至1973年之间在AT&T贝尔实验室开发。 | C++由Bjarne Stroustrup于1979年开发。 |
C不支持多态性, 封装和继承, 这意味着C不支持面向对象的编程。 | C++支持多态, 封装和继承, 因为它是一种面向对象的编程语言。 |
C是C++的子集。 | C++是C的超集。 |
C包含32个关键字。 | C++包含52个关键字。 |
对于代码的开发, C支持过程编程。 | C++被称为混合语言, 因为C++同时支持过程式和面向对象的编程范例。 |
数据和函数在C中是分开的, 因为它是一种过程编程语言。 | 数据和函数以C++中的对象形式封装在一起。 |
C不支持信息隐藏。 | 封装将数据隐藏起来, 以确保按预期使用数据结构和运算符。 |
C支持内置数据类型。 | C++支持内置和用户定义的数据类型。 |
C是一种函数驱动的语言, 因为C是一种过程编程语言。 | C++是一种对象驱动语言, 因为它是一种面向对象的编程。 |
C不支持函数和运算符重载。 | C++支持函数和运算符重载。 |
C是一种功能驱动的语言。 | C++是一种对象驱动语言 |
C中的函数未在结构内部定义。 | 函数可以在C++中的结构内部使用。 |
C中不存在命名空间功能。 | C++使用命名空间, 可以避免名称冲突。 |
C使用的头文件是stdio.h。 | C++使用的头文件是iostream.h。 |
C不支持引用变量。 | C++支持引用变量。 |
C不支持虚拟和朋友功能。 | C++支持虚拟和朋友功能。 |
C不支持继承。 | C++支持继承。 |
C不再关注数据, 而是关注方法或过程。 | C++专注于数据, 而不是方法或过程。 |
C提供了malloc()和calloc()函数用于动态内存分配, 并提供free()用于内存解除分配。 | C++为内存分配提供了新的运算符, 为内存取消分配提供了删除运算符。 |
C不支持对异常处理的直接支持。 | C++支持异常处理。 |
scanf()和printf()函数用于C语言的输入/输出。 | cin和cout用于C++中的输入/输出。 |