到底什么是C++

C++的起源

提到C++,就不得不提C语言了。

C语言是一种面向过程的编程语言,是一个结构化语言,它的重点在于算法与数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事物)控制)。所以不能满足面向对象开发软件的需要。

为支持面向对象的程序设计,1980年由贝尔实验室的Bjarne Stroustrup创建了C++程序设计语言。

C++的重要目标就是面向对象的程序设计,因此在C++中引入了类的机制。

1983年正式命名为C++(C Plus Plus),以后经过不断完善,形成了目前的C++。

C++发展至今

1983年8月, 第一个C++实现投入使用(所以我喜欢说1983年C++开了天界)
1983年12月,Rick Mascitti建议命名为CPlusPlus,即C++。
1985年2月, 第一个C++ Release E发布。
   10月, CFront的第一个商业发布,CFront Release 1.0。
   10月, Bjarne博士完成了经典巨著The C++ Programming Language第一版
1986年11月 C++第一个商业移植CFront 1.1,Glockenspiel。
1987年2月, CFront Release 1.2发布。
   11月,第一个USENIX C++会议在新墨西哥州举行。
  1988年10月 第一次USENIX C++实现者工作会议在科罗拉多州举行。
1989年12月,ANSI X3J16在华盛顿组织会议。
1990年3月, 第一次ANSI X3J16技术会议在新泽西州召开.
      5月, C++的又一个传世经典ARM诞生。
      7月, 模板被加入。
      11月,异常被加入。
  1991年6月, The C++ Programming Language第二版完成。
      6月, 第一次ISO WG21会议在瑞典召开。
     10月, CFront Release 3.0发布。
1993年3月, 运行时类型识别在俄勒冈州被加入。
      7月, 名字空间在德国慕尼黑被加入。
  1994年8月, ANSI/ISO委员会草案登记。
  1997年7月, The C++ Programming Language第三版完成。
     10月, ISO标准通过表决被接受
  1998年11月,ISO标准被批准。

C++与C的区别

与C相比:

C++的特点:

1.在C语言的基础上进行扩充和完善,使C++兼容了C语言的面向过程特点,又成为了一种面向对象的程序设计语言;

2.可以使用抽象数据类型进行基于对象的编程;

3.可以使用多继承、多态进行面向对象的编程;

4.可以担负起以模版为特征的泛型化编程。

与java相比:

C++的特点:
C++的优势

1.Java比C\C++慢。Java 1.0 比C慢20倍 现在的Java 1.6运行速度也只是C 的一半。

2. C++在继承和派生上比Java更灵活

3. C++ 中可以直接插入汇编 能直接操控底层硬件 所以操作系统还是得用 c写

4. Java办的到C++一定办得到,C++办得到的Java则不一定。

C++的劣势

1.Java比C,C++简单,学起来比C\C++容易

2.Java完全对象化,比如数组在Java中是一个对象,含有length这个属性; 而不像C++中数组是一个指针。所以访问数组,Java都会进行边界检查,更安全 ,但牺牲了速度。同时因为Java中所有类都会继承Object这个基类,所以可以 把几个好不相干的类用基类联系起来,比如放在同一个数组里。

3.Java中没有指针这样不安全(虽然指针速度快)的概念。

4.Java中有完善的内存管理机制,能自动垃圾回收,最大可能降低内存溢 出的可能,同时提高编程效率。

5.Java中有完善的异常机制(标准C++中不够完善)。

6.java中保持数据时对象本身是在堆里,同时靠一在栈里的句柄与之连接 。这个设计更合理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值