C++发展史

这篇具有很好参考价值的文章主要介绍了C++发展史。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C++发展史,C++,c++,开发语言

目录

什么是C++

C++的发展史

C++的重要性

C++在实际工作中的应用

“21天教你学会C++”



C++发展史,C++,c++,开发语言

什么是C++

C++发展史,C++,c++,开发语言

先看看祖师爷,记得多拜拜🤭

C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的
程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言
应运而生。
1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一
种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。因此:C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。

C++的发展史

C++的发展史可以追溯到1979年,当时Bjarne Stroustrup在贝尔实验室工作时开始设计一种名为“C with Classes”的语言。这种语言是在C语言的基础上加入了面向对象编程的特性,以便更好地应对复杂的软件开发需求。

1983年,Stroustrup正式将这种语言命名为C++,并在同年发表了C++的第一篇论文。此后,C++经历了多个版本的更新和改进。

阶段 内容
C with Classes 类及派生类、公有和私有成员、类的构造和析构、友元、内联函数、赋值运算符 重载等
C++1.0 添加虚函数概念,函数和运算符重载,引用、常量等
C++2.0 更加完善支持面向对象,新增保护成员、多重继承、对象的初始化、抽象类、静态成员以及const成员函数
C++3.0 进一步完善,引入模板,解决多重继承产生的二义性问题和相应构造和析构的处理
C++98 C++标准第一个版本,绝大多数编译器都支持,得到了国际标准化组织(ISO)和美 国标准化协会认可,以模板方式重写C++标准库,引入了STL(标准模板库)
C++03 C++标准第二个版本,语言特性无大改变,主要:修订错误、减少多异性
C++05 C++标准委员会发布了一份计数报告(Technical Report,TR1),正式更名 C++0x,即:计划在本世纪第一个10年的某个时间发布
C++11 增加了许多特性,使得C++更像一种新语言,比如:正则表达式、基于范围for循环、auto关键字、新容器、列表初始化、标准线程库等
C++14 对C++11的扩展,主要是修复C++11中漏洞以及改进,比如:泛型的lambda表 达式,auto的返回值类型推导,二进制字面常量等
C++17 在C++11上做了一些小幅改进,增加了19个新特性,比如:static_assert()的文 本信息可选,Fold表达式用于可变的模板,if和switch语句中的初始化器等
C++20 自C++11以来最大的发行版,引入了许多新的特性,比如:模块(Modules)、协 程(Coroutines)、范围(Ranges)、概念(Constraints)等重大特性,还有对已有 特性的更新:比如Lambda支持模板、范围for支持初始化等
C++23 制定ing

总的来说,C++的发展史是一个持续不断的演化过程,不断引入新的特性和改进,使得C++成为了一种功能丰富且灵活的编程语言。

C++的重要性

下图数据来自TIOBE编程语言社区2021年12月最新的排行榜,在30多年的发展中,C/C++几乎一 致稳居前5。

C++发展史,C++,c++,开发语言

C++发展史,C++,c++,开发语言

TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互 联网上有经验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、 MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。

注意:排名不能说明哪个语言好,哪个不好,每门编程语言都有适应自己的应用场景。

针对于C++,它具有一下优点:

  1. 面向对象编程:C++是一种支持面向对象编程的语言,它提供了类、继承、多态等面向对象的特性,使得程序员可以更容易地组织和管理复杂的代码结构。

  2. 性能优越:C++是一种高性能的语言,它可以直接操作内存和硬件,因此非常适合开发需要高性能的应用程序,比如游戏、图形处理和嵌入式系统等。

  3. 广泛应用:C++被广泛应用于操作系统、数据库、网络通信、嵌入式系统、游戏开发等领域,许多重要的软件和系统都是用C++编写的。

  4. 跨平台性:C++可以在多个平台上运行,因为它的编译器和标准库都有多个平台的支持,这使得C++成为了一种跨平台的编程语言。

  5. 标准化:C++有一个国际标准,这意味着它有一个统一的语法和语义规范,这有助于开发者编写出更加可移植的代码。

总的来说,C++在软件开发领域的重要性不言而喻,它是一种功能强大、灵活性高、性能优越的编程语言,为开发者提供了丰富的工具和特性,使得他们可以开发出高效、可靠的应用程序。

C++在实际工作中的应用

  1.  操作系统以及大型系统软件开发                                                                                            所有操作系统几乎都是C/C++写的,许多大型软件背后几乎都是C++写的,比如: Photoshop、Office、JVM(Java虚拟机)等,究其原因还是性能高,可以直接操控硬件。
  2. 服务器端开发 (后台开发):                                                                                                        主要侧重于业务逻辑的处理,即对于前端请求后端给出对应的响应,现在主流采 用java,但内卷化比较严重,大厂可能会有C++后台开发,主要做一些基础组件,中间件、 缓存、分布式存储等。服务器端开发比后台开发跟广泛,包含后台开发,一般对实时性要求 比较高的,比如游戏服务器、流媒体服务器、网络通讯等都采用C++开发的。
  3. 游戏开发                                                                                                                               PC平台几乎所有的游戏都是C++写的,比如:魔兽世界、传奇、CS、跑跑卡丁车等,市面上 相当多的游戏引擎都是基于C++开发的,比如:Cocos2d、虚幻4、DirectX等。三维游戏领 域计算量非常庞大,底层的数学全都是矩阵变换,想要画面精美、内容丰富、游戏实时性 搞,这些高难度需求无疑只能选C++语言。比较知名厂商:腾讯、网易、完美世界、巨人网 络等。 比特就业课
  4. 嵌入式和物联网领域                                                                                                                  嵌入式:就是把具有计算能力的主控板嵌入到机器装置或者电子装置的内部,能够控制这些 装置。比如:智能手环、摄像头、扫地机器人、智能音响等。                                              谈到嵌入式开发,大家最能想到的就是单片机开发(即在8位、16位或者32位单片机产品或者 裸机上进行的开发),嵌入式开发除了单片机开发以外,还包含在soc片上、系统层面、驱动 层面以及应用、中间件层面的开发。                                                                                      常见的岗位有:嵌入式开发工程师、驱动开发工程师、系统开发工程师、Linux开发工程 师、固件开发工程师等。                                                                                                        知名的一些厂商,比如:以华为、vivo、oppo、小米为代表的手机厂;以紫光展锐、乐鑫为 代表的芯片厂;以大疆、海康威视、大华、CVTE等具有自己终端业务厂商;以及海尔、海 信、格力等传统家电行业。 随着5G的普及,物联网(即万物互联,)也成为了一种新兴势力,比如:阿里lot、腾讯lot、京 东、百度、美团等都有硬件相关的事业部。
  5.  数字图像处理                                                                                                                         数字图像处理中涉及到大量数学矩阵方面的运算,对CPU算力要求比较高,主要的图像处理 算法库和开源库等都是C/C++写的,比如:OpenCV、OpenGL等,大名鼎鼎的Photoshop 就是C++写的。
  6. 人工智能                                                                                                                                  一提到人工智能,大家首先想到的就是python,认为学习人工智能就要学习python,这个 是误区,python中库比较丰富,使用python可以快速搭建神经网络、填入参数导入数据就 可以开始训练模型了。但人工智能背后深度学习算法等核心还是用C++写的。
  7. 分布式应用                                                                                                                             近年来移动互联网的兴起,各应用数据量业务量不断攀升;后端架构要不断提高性能和并发 能力才能应对大信息时代的来临。在分布式领域,好些分布式框架、文件系统、中间组件等 都是C++开发的。对分布式计算影响极大的Hadoop生态的几个重量级组件:HDFS、 zookeeper、HBase等,也都是基于Google用C++实现的GFS、Chubby、BigTable。包括分 布式计算框架MapReduce也是Google先用C++实现了一套,之后才有开源的java版本。

除了上述领域外,在:科学计算、浏览器、流媒体开发、网络软件等都是C++比较适合的场景, 作为一名老牌语言的常青树,C++一直霸占编程语言前5名,肯定有其存在的价值。

“21天教你学会C++”

C++发展史,C++,c++,开发语言

总的来说,学习C++需要系统地学习语法和特性,不断实践和积累经验,同时也要善于利用各种资源和工具来获取更多的学习资料和帮助,最重要的是要学会持之以恒,21天学会C++也是不可能的。


我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:腾讯云自媒体分享计划 - 腾讯云开发者社区-腾讯云文章来源地址https://www.toymoban.com/news/detail-801715.html

到了这里,关于C++发展史的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 21天学会C++:Day1----C++的发展史

    · CSDN的uu们,大家好。这里是C++入门的第一讲。 · 座右铭:前路坎坷,披荆斩棘,扶摇直上。 · 博客主页: @姬如祎 · 收录专栏:C++专题 目录 1. 什么是C++ 2. C++的发展史 3. C++的重要性 4. 如何学好C++ 4.1 别人如何学C++ 4.2 自己如何学好C++ 4.2.1 做笔记  4.2.2 多看书  4.2

    2023年04月17日
    浏览(60)
  • 【发展史】鼠标的发展史

    最早可以追溯到1952年,皇家加拿大海军将5针保龄球放在能够侦测球面转动的硬件上,这个硬件再将信息转化成光标在屏幕上移动,用作军事计算机输入。这是我们能够追溯到的最早的依靠手部运动进行光标移动的输入设备。但当时这个东西不叫鼠标,而且看上去也不像mous

    2024年02月08日
    浏览(42)
  • 【人工智能】NLP自然语言处理领域发展史 | The History of Development in Natural Language Processing (NLP) Field

    自然语言处理(Natural Language Processing,NLP)是人工智能(AI)领域的重要分支,旨在让计算机能够理解、处理和生成自然语言,如英语、汉语等。本文将介绍NLP领域的发展历史和里程碑事件。

    2024年02月07日
    浏览(69)
  • 细说元宇宙发展史

    元宇宙作为时下一个热门的产业,凭借着强大的潜力,吸引了全球范围内大量企业的参与。但事实上,元宇宙这一概念,并非是一个全新的名词,它早在数十年前就已经出现在我们的视野当中,那么,就让我们来探索元宇宙的这一段发展时吧,进一步深度了解什么是元宇宙。

    2023年04月10日
    浏览(45)
  • Unity发展史

    Unity历史 2004年诞生于丹麦阿莫斯特 2005年06月:Unity 1.0发布 2006年06月:Unity 1.5发布 2007年10月:Unity 2.0发布,增加地形引擎、实时动态阴影,支持DirectX 9,并具有内置的网络多人联机功能。 2008年06月:Unity 支持Will 2008年10月:Unity 支持iphone 2009年03月:Unity 2.5发布,增加对w、

    2024年02月16日
    浏览(47)
  • YOLO系列发展史

    YOLO(You Only Look Once)是一种目标检测算法,由Joseph Redmon等人在2015年提出。它的主要思想是将目标检测任务看作是一个回归问题,并且可以在一个神经网络中同时预测目标的位置和类别。 自2015年YOLO第一次发布以来,YOLO系列经历了多次更新和改进,以下是YOLO系列的发展史:

    2024年02月12日
    浏览(49)
  • Windows系统发展史

    1.Windows1.0是由微软在1983年11月宣布,并在两年后(1985年11月)发行的。严格来说,这并不是微软的首个操作系统,毕竟早在1981年,微软就发布了微软操作系统中的里程碑--MS-DOS(MicroSoft Disk Operating System)。与当时的主流操作系统MS-DOS相比,Windows 1革命性地将GUI(图形操作界面)引入到

    2024年02月07日
    浏览(46)
  • 大数据技术发展史

    大数据(Big Data)是指在传统数据处理方法难以处理的情况下,需要新的处理模式来具有更强的决策力、洞察发现力和过程优化能力的海量、高增长率和多样化的信息资产。大数据的特征通常被概括为“4V”,即: Volume(容量) :大数据的规模非常庞大,通常以 TB(太字节)

    2024年01月19日
    浏览(50)
  • Linux发展史

     1、Linux前身-Unix诞生 1965年,贝尔实验室Bell、麻省理工学院MIT、奇异公司GE,发起了Multics计划,让主机可以达成300个终端。后来因为资金不足、计划进度等问题,退出了研究。贝尔研究室退出了Multics计划。1968年Multics 项目到后期由于开发进度不是很好,MIT 和Bell实验室相继离

    2024年02月05日
    浏览(55)
  • unity简介和发展史

    Unity是一款由Unity Technologies公司研发的跨平台2D/3D游戏引擎。它以交互的图型化开发环境为首要方式,编译器运行在Windows 和Mac OS X下,可发布游戏至Windows、Wii、OSX、iOS或HTML5等众多平台。此外,Unity 还是被广泛用于建筑可视化、实时三维动画等类型互动内容的综合型创作工具

    2023年04月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包