现代 C++20 实战高手课
卢誉声
Autodesk 首席工程师
3781 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 29 讲
现代 C++20 实战高手课
15
15
1.0x
00:00/00:00
登录|注册

22|重大变更(二):关于C++26的十大猜想

你好,我是卢誉声。
上一讲,我们了解了后续 C++ 标准演进中,极有可能到来的特性或库变更——静态反射、异步任务框架、网络库和 Freestanding 库。
从未来标准的演进路线中,我们其实可以一窥究竟,不难发现,C++ 有着极为清晰的演进路线。
与此同时,C++ 标准还在努力弥补不足之处,比如缺乏标准化的高性能计算能力、异步编程库、针对大数据处理的 Ranges 扩展等等。接下来,就让我们继续漫游之旅,畅想未来 C++ 标准演进可能迎来的另外六个变化吧。

高性能计算支持

对于 C++26 来说,另一个重要目标是提供对高性能计算的支持。
不得不说,C++ 至今依然能焕发生机,得益于人工智能等领域对高性能计算的需求,C++ 几乎是唯一一个同时合理兼顾性能和抽象两个层面的编程语言。
但是,C++ 缺乏对高性能计算的标准支持,无论是基础的多维向量、对 CPU SIMD 的指令封装,还是更高层的线性代数算法都是一片空白。
因此,从 C++20 标准开始,不断有相关特性添加到标准库中,C++20 中的一维数组视图 span 和 C++23 中的多维数组视图 mdspan,都是线性代数的基础类型向量的前置特性。同时,C++23 的多元索引操作符,也让多维向量访问变得更加方便了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

C++26标准可能带来的重大变化包括对高性能计算的支持,协程任务的实现,容器和ranges的格式化接口方案,以及引入Bucket Array容器框架Hive解决大量数据块的申请、释放与快速检索问题。此外,C++26可能会支持多线程无锁内存模型,包括Hazard Pointer和RCU,以解决高并发场景下的数据竞争问题。这些变化将使C++在高性能计算、协程任务、容器输出、数据结构和多线程无锁内存模型等方面迎来重大进步。文章还探讨了C++中的定制点对象调整,以及C++在人工智能技术发展和高性能计算领域的应用前景。文章最后提出了两个思考题,引发读者思考和讨论。文章内容丰富,展望了C++26标准的重大变革和未来发展方向。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《现代 C++20 实战高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 木瓜777
    内存碎片,我也是一般先申请一大块内存,再在里面分块使用!请用还有哪些比较好的方案?

    作者回复: 你说的没错,申请一块大的内存是一个规避内存碎片化的有效手段! 同时,优化内存分配的算法也是一个不错的选择,它更加灵活、而且能在分配大块内存和内存碎片见找到一个平衡。可以参考:https://github.com/google/tcmalloc

    2023-06-01归属地:湖北
  • peter
    C++会用于网站后端开发吗?网站开发,一般也就是Java、PHP、微软ASP那一套、后来的python,基本就这些了。难道C++会被用来开发后端的某一个模块?

    作者回复: 一般大多数互联网公司不会用C++编写增删改查这种业务代码,但是很多需要大量计算的任务会采用C++来编写,然后通过RPC/消息队列等方式与后台前端集成。或者可以通过互操作接口直接通过业务代码的语言做C++的wrapper(比如Python就很多,比如大多数深度学习框架)。 另外,网站系统的运行时无一例外,底层都是C/C++实现的。比如说 node 的 libuv、Java的底层实现等。

    2023-03-14归属地:北京
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部