开发语言漫谈-C++

C++最初的名字为"带类的C"(C with Classes),形象的说明了C++的核心是将C语言从面向过程扩展为面向对象,此时的C++已经有了类、封装、继承等核心概念,为后来的面向对象编程奠定了基础。

不像C很少修订,C++修定过很多次:1998年,C++的第一个国际标准ISO/IEC 14882:1998正式发布。最近的修订是C++20(2020年):C++20是C++历史上的又一个重要里程碑。这次更新引入了一系列新特性和改进,如协程(Coroutines)、概念(Concepts)、模块化(Modules)等。 C++23 是 2023 年 7 月份刚确定下的新标准变化包括引入标准库的模块化支持、扩展 constexpr 、增加并行算法、ranges 扩展、this 推导、引入更多的属性和注解、增加 std::mdspan、std::generator 等新特性。总之C++在越来越复杂的路上越走越远。很多新语言的出现就是因为C++太复杂,但是没一个能撼动C++的地位。

C++入门难,提高难,但上限很高。你适合不适合做技术,看能不能沉浸入C++。一般来说,使用C++的场景都是跟操作系统、跟硬件打交道的。其他程序员都是站在巨人肩膀上,你只能站在地上。最要命的是C++涉及的知识面太广,两个C++程序员之间都可能无法交流和沟通。熟悉(不是精通)C++的程序员都已经是高手了,到了精通阶段就是世外高人了。C++只带刷人属性,不适合的人在进阶阶段就自动劝退了。所以现在C++核心岗招不到人。这些岗位包括:

  1. 系统级(操作系统、驱动程序等)

  2. 游戏开发

  3. 嵌入式系统

  4. 大数据处理(计算、分析)

  5. 人工智能和机器学习

  6. 网络和通信

尤其是人工智能和机器学习领域发展前景非常好。如果你天赋异禀,又能吃亏耐劳,不妨学学这门九阳神功。

相关推荐
鸽芷咕17 分钟前
【Python报错已解决】ModuleNotFoundError: No module named ‘paddle‘
开发语言·python·机器学习·bug·paddle
Jhxbdks27 分钟前
C语言中的一些小知识(二)
c语言·开发语言·笔记
java66666888827 分钟前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存28 分钟前
源码分析:LinkedList
java·开发语言
代码雕刻家30 分钟前
数据结构-3.1.栈的基本概念
c语言·开发语言·数据结构
Fan_web31 分钟前
JavaScript高级——闭包应用-自定义js模块
开发语言·前端·javascript·css·html
梦想科研社36 分钟前
【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
开发语言·算法·数学建模·matlab·无人机
风等雨归期36 分钟前
【python】【绘制小程序】动态爱心绘制
开发语言·python·小程序
千穹凌帝39 分钟前
SpinalHDL之结构(二)
开发语言·前端·fpga开发
AlexMercer101242 分钟前
【C++】二、数据类型 (同C)
c语言·开发语言·数据结构·c++·笔记·算法