- Main
- Computers - Computer Science
- 现代C++白皮书 (中文版) 在拥挤和变化的世界中茁壮成长:C++...
现代C++白皮书 (中文版) 在拥挤和变化的世界中茁壮成长:C++ 2006–2020
(美)Bjarne Stroustrup 著 吴咏炜、杨文波、张云潮 等 译到2006年时,C++已经在业界广泛使用了20年。它既包含了自1970年代初引入
C语言以来一直没有改变的部分,又包含了在二十一世纪初仍很新颖的特性。从
2006年到2020年,C+开发者人数从约300万增长到了约450万。在这段时期
里,有新的编程模型涌现出来,有硬件架构的演变,有新的应用领域变得至关重 要,也有好些语言在争夺主导地位,背后有雄厚的资金支持和专业的营销。
C++
种没有真正商业支持的、老得多的语言一一 是如何在这些挑战面前继
续茁壮成长的?
本文重点关注IS0C++标准在2011年、2014年、2017年和2020年的修订版中
的重大变化。标准库在篇幅上约占C++20标准的四分之三,但本文的主要重点仍
是语言特性和它们所支持的编程技术。
本文包含了长长的特性清单,其中记录了C++的成长。我会对重要的技术要点进
行讨论,并用简短的代码片段加以说明。此外,本文还展示了一些失败的提案, 以及导致其失败的讨论。它提供了一个视角,如何看待这些年来令人眼花缭乱的 事实和特性。我的重点是塑造语言的想法、人和流程。
讨论主题包括各种方向上的努力,包括:通过演进式变化保留C++的本质,简化
C++的使用,改善对泛型编程的支持,更好地支持编译期编程,扩展对并发和并
行编程的支持,以及保持对几十年前的代码的稳定支持。
I$0C++标准是通过一个共识流程演化而来的。无可避免,在方向、设计理念和原
则方面,不同的提案间存在竞争和(通常是礼貌性的)冲突。委员会现在比以往 任何时候都更大、更活跃,每年有多达250人参加三次为期一周的会议,还有更 多的人以电子方式参加。我们试图(并不总是成功)减轻各种不良影响,包括 “委员会设计”、官僚主义,以及对各种语言时尚的过度热衷。
具体的语言技术话题包括内存模型、并发并行、编译期计算、移动语义、异常、 lambda表达式和模块。要设计一种机制来指定模板对其参数的要求,既足够灵活 和精确,又不会增加运行期开销,实践证明这很困难。设计“概念”来做到这一
点的反复尝试可以追溯到1980年代,并触及到C++和泛型编程的许多关键设计问
题。
文中的描述基于个人对关键事件和设计决策的参与,并以IS0C++标准委员会档案
中的数千篇论文和数百份会议记录作为支持。
Dosya 1-5 dakika içinde Telegram hesabınıza teslim edilecektir.
Not: Hesabınızı Z-Library Telegram botuna bağladığınızdan emin olun.
Dosya 1-5 dakika içinde Kindle cihazınıza teslim edilecektir.
Not: Kindle'a gönderdiğiniz her kitabı doğrulamanız gerekir. Amazon Kindle Support'tan gelen bir onay e-postası için e-posta gelen kutunuzu kontrol edin.
- E-okuyuculara gönderin
- Arttırılmış indirme limiti
- Dosyaları dönüştürün
- Diğer arama sonuçları
- Diğer avantajları