C++的发展和特点

1.C++的发展史

C++是由Bjarne Stroustrup(本贾尼·斯特劳斯特卢普 1950~)博士在贝尔实验室工作期间开发的。最初C++被称为new C,后来为了体现它是一种带类的面向对象语言,将其改名为C with class。1982年命名为C++。

1.png

C++从诞生至今,其发展历史大致可以分为三个阶段。
第一阶段:从C++出现到1995年。这一阶段C++基本上是传统类型上的面向对象语言,并且依靠接近C语言的效率,在计算机语言中占据着相当大的比重。在这期间Bjarne Stroustrup博士完成了经典巨著The C++ Programming Language第1版的编写。
第二阶段:从1995年到2000年。这一阶段由于STL库和后来的Boost库等程序库的出现,泛型编程设计在C++中的比重越来越大。
第三阶段:从2000年至今。以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,使C++迎来了发展史上的又一个高峰。这些新技术和原有技术的融合,使C++成为当今主流程序设计语言中一门非常复杂的语言。

2.C++的特点

C++语言是在C语言的基础上发展而来的,它具有以下特点。
1.兼容C语言
C++既保留了C语言的所有优点,又克服了C语言的缺点。相比于C语言,C++的编译系统能检查出更多的语法错误,代码安全性更高。除此之外,C++环境可以运行绝大多数C程序,C++程序可以兼容众多C语言编写的库函数。
2.支持面向对象编程
C++引入了面向对象的概念,具有诸如Java、PHP、Python等面向对象编程语言的特性。如果使用C++语言开发人机交互类型的应用程序,相比C语言来说,会变得更为简单、快捷。同时,C++利用类的层级关系进行编程,使得扩展接口功能变得更加简便。
3.拥有丰富的库
利用C++中的标准模板库STL,如set、map、hash等容器,可以快速编写代码。除了标准模板库,C++还有非常多的第三方库,如Boost库、图形库QT、图像处理库OpenCV、机器学习库Tensorflow、线性代数库Eigen、游戏库OpenGL等,这些优秀的库为企业的项目开发提供了非常大的支持。
4.支持嵌入式开发
在嵌入式开发领域,C++的地位举足轻重。例如,智能手表、机器人这些智能设备,无论是底层驱动还是上层应用开发,可以使用C++语言。
5.类型转换安全性更强
C++和C语言属于强类型语言,C语言中可以进行强制类型转换,相对自由灵活。但C语言类型转换安全性比较低,为了兼容C语言C++提供了更安全的类型转换方式,转换安全性更强。
6.支持垃圾回收机制
大多数面向对象编程语言具有垃圾回收机制。早期的C++语言不具备垃圾回收机制,这意味着申请的内存资源在使用完成后,需要程序员自己释放。直到C++11标准诞生,提出了智能指针新特性,实现了内存资源的自动管理,使得指针的使用更加灵活,并避免了内存泄漏问题。

相关推荐

  1. C语言特点

    2024-04-26 20:44:03       43 阅读
  2. SpringSpringBoot特点

    2024-04-26 20:44:03       38 阅读
  3. 2023年网络安全领域新兴技术发展特点

    2024-04-26 20:44:03       36 阅读
  4. C++:与C语言相比特点

    2024-04-26 20:44:03       56 阅读
  5. <span style='color:red;'>C</span>++<span style='color:red;'>特点</span>

    C++特点

    2024-04-26 20:44:03      48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-26 20:44:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-26 20:44:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-26 20:44:03       82 阅读
  4. Python语言-面向对象

    2024-04-26 20:44:03       91 阅读

热门阅读

  1. 一维字符型数组算法整理

    2024-04-26 20:44:03       34 阅读
  2. SpringBoot Filter过滤器的使用篇

    2024-04-26 20:44:03       38 阅读
  3. js转换成Number类型的方法与规则

    2024-04-26 20:44:03       33 阅读
  4. Kafka 监控之分层存储监控和 KRaft 监控指标

    2024-04-26 20:44:03       27 阅读
  5. 3个要点全面提升SQL数据安全

    2024-04-26 20:44:03       34 阅读
  6. Linux 三剑客之AWK

    2024-04-26 20:44:03       31 阅读