[从C到C++] 1.2 C++概述

简介: [TOC] 20世纪80年代,AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事在C语言的基础上成功开发出C++语言。C++语言是一种混合型语言,它保留了C语言所有的优点,同时又增添了面向对象的编程机制,我们可以将C++语言视为C语言的改进和扩展。

[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++语言可以用于应用软件开发、娱乐游戏开发、多媒体音视频处理、网络通信和智能识别等。

image

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

目录
相关文章
|
C++
42 C++ - 继承概述
42 C++ - 继承概述
47 0
|
7月前
|
算法 Serverless C++
C++常用头文件概述与示例
C++常用头文件概述与示例
234 0
|
7月前
|
存储 程序员 编译器
c++面向对象概述、内存分析、引用、函数
c++面向对象概述、内存分析、引用、函数
|
7月前
|
存储 算法 测试技术
【C++】容器篇(二)——List的基本概述以及模拟实现
【C++】容器篇(二)——List的基本概述以及模拟实现
|
7月前
|
存储 编译器 程序员
【C++】容器篇(一)—— vector 的基本概述以及模拟实现
【C++】容器篇(一)—— vector 的基本概述以及模拟实现
129 0
|
7月前
|
机器学习/深度学习 算法 C++
C++模板与STL【STL概述】
C++模板与STL【STL概述】
|
7月前
|
编译器 开发工具 C语言
C/C++入门001-概述环境搭建与案例
C/C++入门001-概述环境搭建与案例
|
算法 Linux C++
【C++】STL之vector类概述-2
【C++】STL之vector类概述
51 0
|
存储 算法 C语言
【C++】STL之vector类概述-1
【C++】STL之vector类概述
71 0
|
存储 算法 C语言
【C++】STL之string类概述-3
【C++】STL之string类概述
69 0