面试---c和c++的区别
来源:互联网 发布:c语言百分d是什么意思 编辑:程序博客网 时间:2024/06/16 20:07
C是一个结构化语言,如谭老爷子所说:它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
对语言本身而言,C是C++的子集,那么是什么样的一个子集?从上文可以看出, C实现了C++中过程化控制及其它相关功能,而在C++中的C(我称它为“C+”),相对于原来的C还有所加强,引入了重载、内联函数、异常处理等等玩艺儿,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等等。!!!!
再提高一点,在C++中,数据封装、类型这些东东已不是什么新鲜事了,需要考虑的是诸如:对象粒度的选择、对象接口的设计和继承、组合与继承的使用等等问题。
所以相对于C,C++包含了更丰富的“设计”的概念,但C是C++的一个自洽子集,也具有强大的功能,同样值得学习。
0 0
- 面试---c和c++的区别
- 面试指南 笔记(五) C和C++的区别
- 面试指南 笔记(五) C和C++的区别
- 【java面试】java和C/C++的区别
- [互联网面试笔试汇总C/C++-4] 进程和线程的区别
- [互联网面试笔试汇总C/C++-19] 指针和引用的区别
- '&'和'*' (C++)的区别
- 【面试】C语言与C++的区别
- 堆和栈的区别(C/C++)
- C++、VC++和C++Builder的区别
- [c/c++] typedef和define的区别
- [C/C++]Typedef和define的区别
- 【C/C++】堆和栈的区别
- [C/C++] const和#define的区别
- c:if 和c:when 的区别
- char* c和char c[]的区别
- 【C/C++】引用和指针的区别
- 后缀C和c的区别
- Boost库编译后命名方式
- android中扩展View类的背景设置
- 6与6pluse的图片处理问题
- 学到了系列
- 深度学习之Caffe初步学习
- 面试---c和c++的区别
- 关于sqlserver服务和代理服务启动不了
- 198 House Robber
- Scala教程(八)文件操作
- 汇编指令系统及其在单片机系统中的应用总结
- nand flash 大页小页
- Apple 官方验证 Xcode 的指南读后记录
- 1007. Red-black Tree (35)
- __weak 修饰符