C++相对C的主要特点和发展

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/07 02:20:58
C++相对C的主要特点和发展
xWnAЉbV(}um$PɡxUEQHZLśBY/3g ]{΄99g_^{;OF܊II=uL[bnjnOOocܽ}T;x@ v+EQa_.n'S3|o/2!5O+mZhxzL-^ A nZ(M`1x9?X9s8䘺cU٦ W#'QMQ|D8]nC%ٌMʞq9%[S*lݵkș"CVq4@4rrӮ}7=Y;ix9BsGdGw&i!7c*dYF~k|PAR_:kV/Uս#|q-k7&,naSsMAeaЙ%VWhrepH1 ܣh^YQy0zM7]bpZ6 Snˌ0_Q =ACqM!0$QrsCRݔ!] BϞi*SW?Df^^Zz>a]z!s}lXۙʯu ,M 9;"IJ&]cgzBO\eT8iF,4y"jgCHdҵF:bJhh7/1|0~ڒ?r-e=&Q}F{kKFHzW~TTEiMǏz_5{2dXB21n9ցػ88fmfbӋ,V>?+;gB* Vq W u˜OM #eJo|+Je7-~Y*m(b<wk?>]SɮDFDIu0ɫ9Xp,9f.B)'{y%`0(d$l;ly/x)?t0JM^,['odr2Y%L2GqTAͬm5܀v @0EMb&`WSldM1/1A"}G@P86 ujQk_X) N rṔjWZ^2!T $5k\[}QX60rӢtF("+r1\p1`w?i"rc4rrՙ<8\KyuwtVcge6#CZT0`1D 1"}%~5d;vfTRT-xP_ʏe#sע)hQ| E.JI7A޿?70?KzQD 57nSy'yo+{Ho( 5B12gr jiX(`9&3d\NӀbRJeij+UPR0J/*,)Yʾ1x>Ӛ; GJpZo/:ƪʧu}` DHt"9BCWR9ǧ`ڍ'! `'UoPG4a/|ֳ'wc&k

C++相对C的主要特点和发展
C++相对C的主要特点和发展

C++相对C的主要特点和发展
简单地说,C++和C的主要区别在于,C是面向过程的,而C++是面向对象的,C++主要比C多了继承,多态,模板等特性;在发展方向上,C++倾向于用来开发一些大型的软件,而C倾向于用来开发和硬件有关同时又要求效率的过程式软件开发,在使用人数上,目前C占绝对的优势.
  下面是详细的介绍:
  1.C++和C的关系:
  C语言之所以要起名为“C”,是因为它是主要参考那个时候的一门叫B的语言,它的设计者认为C语言是B语言的进步,所以就起名为C语言;但是B语言并不是因为之前还有个A语言,而是B语言的作者为了纪念他的妻子,他的妻子名字的第一个字母是B; 当C语言发展到顶峰的时刻,出现了一个版本叫C with Class,那就是C++最早的版本,在C语言中增加class关键字和类,那个时候有很多版本的C都希望在C语言中增加类的概念;后来C标准委员会决定为这个版本的C起个新的名字,那个时候征集了很多种名字,最后采纳了其中一个人的意见,以C语言中的++运算符来体现它是C语言的进步,故而叫C++,成立了C++标准委员会.
  2.C++的发展和特点:
  • C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言.
  • C++设计成直接的和广泛的支援多种程序设计风格(程序化程序设计、资料抽象化、面向对 象程序设计、泛型程序设计).
  • C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误.
  • C++设计成尽可能与C兼容,籍此提供一个从C到C++的平滑过渡.
  • C++避免平台限定或没有普遍用途的特性.
  • C++不使用会带来额外开销的特性.
  • C++设计成无需复杂的程序设计环境.
  出于保证语言的简洁和运行高效等方面的考虑,C++的很多特性都是以库(如STL)或其他的形式提供的,而没有直接添加到语言本身里.关于此类话题,C++之父的《C++语言的设计和演化》 里做了详尽的陈述.
  3..两者的效率差别:
  C++与C的效率往往相差在正负5%之间.所以有人认为在大多数场合C++ 完全可以取代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件的地方还是要使用C语言).
  4.C是C++的子集:
  C++包括:
  1、C子语言.C++支持C语言的几乎全部功能,在语法上与C语言仅有极微妙的差别(如括号表达式的左右值性,具体请参考C++标准文献).
  2、面向对象的C++(Objective C++).C++语言原本不具备面向对象的设计功能,然而随着面向对象编程的概念的提出以及如Java等语言的发展成熟,C++语言也开发出了支持面向对象功能的版本,现在编程者常用的VC++就是一种面向对象的语言.
  3、泛型编程语言.C++强大(但容易失控的)模板功能使它能在编译期完成许多工作,从而大大提高运行期效率.
  4、STL(C++标准模板库,Standard Template Library).随着STL的不断发展,它已经逐渐成为C++程序设计中不可或缺的部分,其效率可能比一般的native代码低些,但是其安全性与规范性使它大受欢迎.
  此外,包含在TR1等中的C++0x将实现的新功能在开发和测试中.