现代c++编程c++11/14/17/20:Preface

翻github,发现c++长的和我学的太不一样了。课堂学的还是c++98,但是现在已经20年了。

链接

Introduction

c++的用户组是相当大的。从c++ 98的出现到c++ 11的正式定稿,它已经积累了十多年的时间。c++ 14/17是对c++ 11的重要补充和优化,而c++ 20将该语言带到了现代化的大门。所有这些新标准的扩展特性都提供给了c++语言。焕发出新的活力。那些仍在使用传统c++(本书将c++ 98及其以前的c++标准称为传统c++)的c++程序员甚至可能会惊讶于这样一个事实:在阅读现代c++代码时,他们使用的不是同一种语言。

现代c++ (本书指的是c++ 11/14/17/20)引入了许多传统的特性这使得整个c++变成了现代化的语言。现代c++不仅增强了c++语言本身的可用性,而且对auto关键字语义的修改使我们在操作极其复杂的模板类型时更有信心。与此同时,对语言运行时进行了大量增强。Lambda表达式的出现使得c++具有了“匿名函数”的“闭包”特性,这几乎在现代编程语言(如Python/Swift/…)中都有。它已经变得很常见,右值引用的出现解决了c++长期以来一直被批评的临时对象效率问题。

c++ 17是c++社区在过去三年中一直在推动的方向。指出了现代c++编程的一个重要发展方向。虽然它不像c++ 11那么多,但它包含大量小巧而漂亮的语言和特性(比如结构化绑定),这些特性的出现再次修正了我们在c++中的编程范型。

现代c++还在它自己的标准库中添加了许多工具和方法,比如语言本身级别的std::thread,它支持并发编程,不再依赖于不同平台上的底层系统。API实现了语言层次上的跨平台支持;regex提供了完整的正则表达式支持等等。c++ 98已经被证明是一种非常成功的范例,现代c++的出现进一步促进了这种范例,使c++成为一种更好的系统编程和库开发语言。Concepts提供了模板参数编译时的验证,进一步增强了语言的可用性。

综上所述,作为c++的倡导者和实践者,我们始终保持开放的心态接受新事物,我们可以更快地推动c++的发展,让这个古老而又新颖的语言更加生机勃勃。

Targets

  • 这本书假设读者已经熟悉传统的c++(比如c++ 98或更早的版本),至少他们在阅读传统的c++代码时没有任何困难。
  • 这本书在一定程度上介绍了现代c++的黑暗魔法。但是,这些魔法是非常有限的,它们不适合想要学习高级c++的读者。这本书的目的是为现代c++提供一个快速的入门。当然,高级读者也可以使用这本书来回顾和检查自己对现代c++的了解。

Purpose

这本书声称是仓促写成的。它的目的是提供关于现代c++(2020年代之前)的相关特性的全面介绍。读者可以根据下面的内容表选择感兴趣的内容来学习和快速熟悉您想要学习的新特性。读者应该知道,所有这些特性都不是必需的。当你真正需要它的时候,它应该被删除。

同时,这本书没有只介绍语法,而是尽可能简单地介绍了它的技术要求的历史背景,这对理解为什么会出现这些特性提供了很大帮助。

此外,作者还希望读者能够在他们的新项目中直接使用现代c++,并在阅读完这本书后逐渐将他们的旧项目迁移到现代c++中。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值