• 联系我们
  • 地址:湖北武汉三环科技园
  • 电话:159116031100
  • 传真:027-68834628
  • 邮箱:mmheng@foxmail.com
  • 当前所在位置:首页 - c++培训
  • 深圳IT培训选择什么 方向好?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++包含了更丰富的“设计”的概念,但c是c++的一个自洽子集,也具有强大的功能,同样值得学习。几点学习: 1.基本概念很重要。无论学c,还是学c++,基本概念都是第一位的,也是比较困难的,但只有把握了基本概念才能把握整体脉络,才能居高临下。 2.c是c++的子集,它的基本概念和设计方法相对比较容易理解,初学者可从它入手。 3.如果要学好c++,初学者最好别在如vc,bcb平写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到vc,bcb下看看,你会轻松得很。在我看来,学好c/c++是成为vc,bcb高手的必由之。 4.不要妄想速成,必须得一个byte,一个bit的去抠,尽量搞清楚每一个问题。 5.几本好书: 机械工业出版社的那套“计算机科学丛书”从c到c++,到面向对象设计,一应俱全,都是经典中的经典,而且价格,童叟无欺。

    延伸内容: