[TOC]
20世纪80年代,AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事在C语言的基础上成功开发出C++语言。C++语言是一种混合型语言,它保留了C语言所有的优点,同时又增添了面向对象的编程机制,我们可以将C++语言视为C语言的改进和扩展。
基于C语言开发的C++语言兼容C语言,因此用C语言编写的程序基本上可以不做改动地用于C++。相对于C语言,C++语言对C语言的功能做了一定的扩充,同时增添了面向对象编程机制。引入面向对象编程机制,主要是为了提高开发效率。
C++能用来干什么
下图是2014年3月份世界编程语言排行榜,在该排行榜中,C++语言位列第4,从这个排名中我们也可以看出C++语言应用是非常广泛的。C++语言可以用于应用软件开发、娱乐游戏开发、多媒体音视频处理、网络通信和智能识别等。
1) 软件开发
操作系统可以分为两块:内核以及内核以外的一些应用程序。内核用于控制最底层的硬件设备,而应用程序则是用于完成一系列的任务。应用程序是通过调用系统提供的接口(如windows API)操作硬件来实现一系列的功能。
要想从事应用软件开发,除了需要掌握基本的C++语法以外,还需要对windows系统及其他系统提供的API或SDK有一定的了解。与之相对应的岗位主要有软件开发工程师、算法工程师、架构工程师等。
2) 游戏开发
掌握了C++基本语法之后,开发游戏也依然是一个不错的选择,目前工业级别的3D游戏引擎仍然是用C或C++编写的。
虽然以个人能力无法去完成一个庞大的网络游戏,但是从简单开始,编写一些小游戏,然后逐渐深入,循序渐进并最终加入大型游戏开发团队还是非常好的一个选择。与之相应的就业岗位主要有游戏开发工程师、游戏引擎架构工程师等。
3) 多媒体开发
目前多媒体技术同样渗入到人们的日常生活中,音视频已经成为人们获取信息的一个非常重要的手段。音视频在传输过程中都是经过压缩并且按照一定规则打包过的。视频的编码技术从最开始的H.261到如今的H.265,经历了30多年的发展,而且实现代码全部是由C或C++实现。
最新的HEVC编码标准就是由C++代码实现,对此感兴趣的话在学完C++语法后,可以去ITU(国际电信联盟)官网去下载源码查看。与之相应的就业岗位有图像算法工程师、视频编码研发工程师、音视频转码工程师等。
4) 人工智能
人工智能、机器学习等方向也少不了C或C++语言的身影。虽然人工智能距离我们还有些远,但随着科技的飞速进步,将来能实现也未可知。
需要强调的是虽然C++语言可以从事的方向非常广泛,但是仅仅掌握C++语法是远远不够的,上述的应用领域C++语言是基础,进入这些领域还需要进一步深入学习相关领域的专业知识。千里之行,始于足下!下面我们将一一介绍C++的基本语法,以期能够帮助大家熟练掌握C++,为今后的发展奠定良好基础。