Herb Sutter访谈:C++17尘埃落定
极客时间编辑部
讲述:杜力大小:1.10M时长:02:24
继新的 C++17 标准在 2017 年 4 月完成之后,ISO C++ 委员会于上个月正式批准了该标准。对此,InfoQ 采访了赫布·萨特(Herb Sutter),多年以来,萨特一直深度参与 ISO C++ 委员会的活动,并担任事实上的召集人。
对于 C++17 标准中的新特性,萨特表示,关键亮点是那些有助于简化该语言日常使用的特性。
回顾一下 C++11 刚推出时,它给出了大量的新特性,其中不乏一些巨大的亮点。但只有那些着眼于“日常细微之处”的特性才是最具影响力的,例如基于范围的 for 循环、auto、智能指针、lambdas、类成员初始化等。开发者们可以看见这些特性,并每天使用它们,让代码更为整洁、更加安全。
现在 C++17 面世,有人感兴趣的是并行 STL 等“大”特性,但在萨特看来,日常编程中最受开发人员青睐的还是那些让语言更为“简洁易用”的特性,如结构化绑定(Structured Binding)、类模板参数规约(Class Template Argument Deduction)、与 for 循环体中一样,在 if 和 switch 语句内也可以初始化变量等。
这些特性减少了编写 C++ 代码时所需的一些仪式上的东西,使开发人员可以更简单地编写和维护代码。
对于大家关新的 Concepts 未能进入 C++17 标准的疑问,萨特表示,这只是一个时间上的问题,但是当前它还需要一段酝酿时间。他解释道,新特性在新版 C++ 中发布之前,委员会会先将它以 TS(技术规范,Technical Specification)发布,或者可以称之为“Beta 分支”,这样委员会就可以先用一段时间收集用户对该特性的反馈,以便在该特性正式发布之前,做出一些重大的更改。
毕竟某个特性一旦在 C++ IS(国际标准,International Standard)中发布,那就尘埃落定,几乎不可能再被修改了。
萨特也透露,Concepts 现在已经被添加到 C++20 草案中,其中包含了一些基于 TS 的反馈而做出的改进。如果将它硬塞到 C++17 中,那么委员会就很难做出这些改进。
对于 C++20 关注的主要领域,萨特表示,大家通过查看已经发布的各个 TS,就能很好地感受到即将推出的 C++ 标准中将会给出的主要特性。大体上说,如果一个特性已经包含在一个发布了一年以上的 TS 中,那么该特性就可能成为下一个标准中的候选特性。而对于 C++20 而言,其特性将包含在 2018 年初左右发布的 TS 中。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论