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++ 包含 63 个关键字。 |
对于代码的开发,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++为内存分配提供了 new 操作符,为内存释放提供了 delete 操作符。 |
C语言不支持直接支持异常处理。 | C++ 支持异常处理。 |
scanf() 和 printf() 函数用于 C语言中的输入/输出。 |
cin 和 cout 用于 C++ 中的输入/输出。 |
C语言结构没有访问修饰符。 | C++ 结构具有访问修饰符。 |