⾸先,C
和
C++
在基本语句上没有过⼤的区别。
C++
有新增的
语法和关键字
,语法的区别有头⽂件的不同和命名空间的不同,
C++
允许我们⾃⼰定义⾃⼰的空间,
C
中不可以。关键字⽅⾯⽐如
C++
与
C
动态管理内存的⽅式不同,
C++
中在
malloc
和
free
的基础上增加了
new 和 delete
,⽽且
C++
中在指针的基础上增加了引⽤的概念,关键字例如
C++
中还增加了
auto
,
explicit
体现显示 和隐式转换上的概念要求,还有 dynamic_cast
增加类型安全⽅⾯的内容。
函数⽅⾯
C++ 中有重载和虚函数的概念
:
C++
⽀持函数重载⽽
C
不⽀持,是因为
C++
函数的名字修饰与
C
不同, C++ 函数名字的修饰会将参数加在后⾯,例如,
int func(int,double)
经过名字修饰之后会变成
_func_int_double
, ⽽ C
中则会变成
_func
,所以
C++
中会⽀持不同参数调⽤不同函数。
C++ 还有虚函数概念,⽤以实现多态
。
类⽅⾯,
C
的
struct
和
C++
的
类
也有很⼤不同
:
C++
中的
struct
不仅可以有成员变量还可以成员函数,⽽且对于struct 增加了权限访问的概念,
struct
的默认成员访问权限和默认继承权限都是
public
,
C++
中除了
struct
还有class 表示类,
struct
和
class
还有⼀点不同在于
class
的默认成员访问权限和默认继承权限都是
private
。
C++
中增加了
模板还重⽤代码,提供了更加强⼤的 STL 标准库。
最后补充⼀点就是
C
是⼀种结构化的语⾔,重点在于算法和数据结构。
C
程序的设计⾸先考虑的是如何通过⼀个代 码,⼀个过程对输⼊进⾏运算处理输出。⽽ C++
⾸先考虑的是如何构造⼀个对象模型,让这个模型能够契合与之对 应的问题领域,这样就能通过获取对象的状态信息得到输出。