C与C++的区别
2016-06-16 21:52
281 查看
(1)标准C++是标准C的超集;
(2)C:面向过程,结构化语言,它的重点在于算法和数据结构,C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制);程序=数据结构+算法;侧重于计算机底层操作;
C++:面向对象,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制;
C与C++的最大区别在于它们的用于解决问题的思想方法不一样;C++的主要特点是类,封装和继承;与C的区别主要为 :类、继承和多重继承、运算符重载、类模板、C++标准库、模板库。
(3)C++对C的“增强”,表现在六个方面:
a. 类型检查更为严格;
b. 增加了面向对象的机制;
c.增加了泛型编程的机制(Template);
d.增加了异常处理;
e.增加了运算符重载;
f.增加了标准模板库(STL);
g.C++增加了C不具有的关键字;
(4)其他区别:
在C++中,局部变量可以在一个程序块内在任何地方声明,在C中,局部变量必须在程序块的开始部分,即在所有"操作"语句之前声明,注意,C99标准中取消了这种限制;
新式C++头部文件不再使用.h扩展名;
C++中new和delete是对内存分配的运算符,取代了C中的malloc和free;
标准C++中的字符串类取代了C标准C函数库<cstring>头文件中的字符数组处理函数;
C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库;
C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数;
C 和 C++ 中都有结构的概念,但是在 C 语言中结构只有成员变量,而没成员方法,而在 C++ 中结构中,它可以有自己的成员变量和成员函数。
(2)C:面向过程,结构化语言,它的重点在于算法和数据结构,C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制);程序=数据结构+算法;侧重于计算机底层操作;
C++:面向对象,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制;
C与C++的最大区别在于它们的用于解决问题的思想方法不一样;C++的主要特点是类,封装和继承;与C的区别主要为 :类、继承和多重继承、运算符重载、类模板、C++标准库、模板库。
(3)C++对C的“增强”,表现在六个方面:
a. 类型检查更为严格;
b. 增加了面向对象的机制;
c.增加了泛型编程的机制(Template);
d.增加了异常处理;
e.增加了运算符重载;
f.增加了标准模板库(STL);
g.C++增加了C不具有的关键字;
(4)其他区别:
在C++中,局部变量可以在一个程序块内在任何地方声明,在C中,局部变量必须在程序块的开始部分,即在所有"操作"语句之前声明,注意,C99标准中取消了这种限制;
新式C++头部文件不再使用.h扩展名;
C++中new和delete是对内存分配的运算符,取代了C中的malloc和free;
标准C++中的字符串类取代了C标准C函数库<cstring>头文件中的字符数组处理函数;
C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库;
C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数;
C 和 C++ 中都有结构的概念,但是在 C 语言中结构只有成员变量,而没成员方法,而在 C++ 中结构中,它可以有自己的成员变量和成员函数。
相关文章推荐
- 链表算法集锦(C语言实现)
- 范围for
- [leetcode]55. Jump Game ,C++/PYTHON实现,medium难度
- c语言基础试题源码
- C语言中有关外部函数调用的问题
- 2016年06月16日学习日记 c++第二讲
- 【C++】堆对象
- C++中String 操作(一)
- 编程之美之买书问题理解和c语言程序
- max()、min()、swap()简单介绍
- c++标准模板库
- PAT乙级练习题B1004.成绩排名
- 【算法学习】horspool查找匹配字符串
- 【C语言】21-结构体
- 【C++】子对象基础概念及其用法
- Bulls and Cows
- C++Builder6优化
- C++面向对象中的向上转换 向下转换 以及OOP相关的类型转换
- LeakDiag使用手记
- c++中函数中变量内存分配以及返回指针、引用类型的思考