C++概述

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++,为今后的发展奠定良好基础。