C++学习前理论

C++概述:java

  C++是C语言的继承,它既能够进行C语言的过程化程序设计,又能够进行以抽象数据类型为特色的基于对象的程序设计,还能够进行以继承和多态为特色的面向对象的程序设计。C++擅长面向对象程序设计的同时,还能够进行基于过程的程序设计,于是C++就适应的问题规模而论,大小由之。C++不只拥有计算机高效运行的实用性特征,同时还致力于提升大规模程序的编程质量与程序设计语言的问题描述能力。linux

  C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。c++

  C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特色。chrome

  C++ 是由 Bjarne Stroustrup 于 1979年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年改名为 C++,在 C++中,库的地位是很是高的, Bjarne Stroustrup先生屡次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其普遍。编程

  C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序windows

  C++ 彻底支持面向对象的程序设计,包括面向对象开发的四大特性:浏览器

    一、封装   二、数据隐藏    三、继承     四、多态服务器

  标准的 C++ 由三个重要部分组成:网络

    核心语言,提供了全部构件块,包括变量、数据类型和常量,等等。数据结构

    C++ 标准库,提供了大量的函数,用于操做文件、字符串等。

    标准模板库(STL),提供了大量的方法,用于操做数据结构等。

C++发展史:

  世界上第一种计算机高级语言是诞生于1954年的FORTRAN语言,以后出现了多种计算机高级语言。1970年,AT&T的Bell实验室的D.Ritchie和K.Thompson共同发明了C语言。研制C语言的初衷是用它编写UNIX系统程序,所以,它其实是UNIX的“副产品”。它充分结合了汇编语言和高级语言的优势,高效而灵活,又容易移植。 

  20世纪70年代中期,Bjarne Stroustrup在剑桥大学计算机中心工做。他使用过Simula和ALGOL,接触过C。他对Simula的类体系感觉颇深,对ALGOL的结构也颇有研究,深知运行效率的意义。既要编程简单、正确可靠,又要运行高效、可移植,是Bjarne Stroustrup的初衷。以C为背景,以Simula思想为基础,正好符合他的设想。  

  1979年,Bjame Sgoustrup到了Bell实验室,开始从事将C改良为带类的C(C with classes)的工做。1983年该语言被正式命名为C++。自从C++被发明以来,它经历了3次主要的修订,每一次修订都为C++增长了新的特征并做了一些修改。第一次修订是在1985年,第二次修订是在1990年,而第三次修订发生在c++的标准化过程当中。在20世纪90年代早期,人们开始为C++创建一个标准,并成立了一个ANSI和ISO(Intemational Standards Organization)国际标准化组织的联合标准化委员会。该委员会在1994年1月25曰提出了第一个标准化草案。在这个草案中,委员会在保持Stroustrup最初定义的全部特征的同时,还增长了一些新的特征。 
  在完成C++标准化的第一个草案后不久,发生了一件事情使得C++标准被极大地扩展了:Alexander stepanov建立了标准模板库(Standard Template Library,STL)。STL不只功能强大,同时很是优雅,然而,它也是很是庞大的。在经过了第一个草案以后,委员会投票并经过了将STL包含到C++标准中的提议。STL对C++的扩展超出了C++的最初定义范围。虽然在标准中增长STL是个很重要的决定,但也所以延缓了C++标准化的进程。 
  委员会于1997年11月14日经过了该标准的最终草案,1998年,C++的ANSI/IS0标准被投入使用。一般,这个版本的C++被认为是标准C++。全部的主流C++编译器都支持这个版本的C++,包括微软的Visual C++和Borland公司的C++Builde

各类语言对比:

  java 的优势是很是适合用于开发大型企业级项目,移动嵌入式程序例如手机游戏,可是要学的技术不少且在底层开发中不占优点

  c语言是经久不衰的语言,主要应用在嵌入式编程,硬件驱动程序设计,能够作底层开发,可是在企业级别中的开发中不占优点

  C++主要开发工具是微软的VisualC++和Borload的BCB(BorloadC++ Builder),优势在于含有大量的库,如MFC,GUI等,可直接调用windows库函数干不少事情,主要领域一是作桌面程序,像QQ,迅雷这种桌面软件,领域二是作游戏后台开发,大部分游戏(包括魔兽等)后台语言就是使用C++,可是语言过分复杂和标准库过分苍白。C++语言过于复杂,而且C++语言已经没法简化,若是编译器可以提供可定制编译也许对这个语言会有帮助。

C++应用领域:

        1. 服务器端开发:不少游戏或者互联网公司的后台服务器程序都是基于C++开发的,并且大部分是linux操做系统

    2. 游戏:目前不少游戏客户端都是基于C++开发的,除了一些网页游戏可能不是,这个领域须要学习的东西就比较多,好比计算机图形、多媒体处理。  

    3. 虚拟现实:这个领域一直在发展,目前VR眼镜比较火,须要大量基于这些的C++开发。  

         4. 数字图像处理:好比像AutoCAD的系统开发,像OpenCV的视觉识别等等。  

         5.科学计算 在科学计算领域,FORTRAN是使用最多的语言之一。可是近年来,C++凭借先进的数值计算库、泛型编程等优点在这一领域也应用颇多。  

    6.网络软件 C++拥有不少成熟的用于网络通讯的库,其中最具备表明性的是跨平台的、重量级的ACE库,该库能够说是C++语言最重要的成果之一,在许多重要的企业、部门甚至是军方都有应用。好比GOOGLE的chrome浏览器,就是使用C++开发。  

     7.分布式应用。  

     8.操做系统 在该领域,C语言是主要使用的编程语言。可是C++凭借其对C的兼容性,面向对象性质也开始在该领域崭露头角。  

      9.设备驱动程序 也是由于效率的缘由。  

           10.移动(手持)设备。

相关文章
相关标签/搜索