作者:empty 页数:103 出版社:empty |
本书号称 高速上手a,从内容上对二十一世纪二十年代之前产生C++的相关特性做了非常相对全面的介绍,读者可以自行根据下面的目录选取感兴趣的内容进行学习,快速熟悉需要了解的内容。这些特性并不需要全部掌握,只需针对自己的使用需求和特定的应用场景,学习、查阅最适合自己的新特性即可。同时,本书在介绍这些特性的过程中,尽可能简单明了的介绍了这些特性产生的历史背景和技术需求,这为理解这些特性、运用这些特性提供了很大的帮助此外,笔者希望读者在阅读本书后,能够努力在新项目中直接使用现代C++,并努力将旧项目逐步迁移到现代C++。也算是笔者为推进现代C++的普及贡献了一些绵薄之力。目标读者1.本书假定读者已经熟悉了传统C++,至少在阅读传统C++代码上不具备任何困难。换句话说,那些长期使用传统C++进行编码的人、渴望在短时间内迅速了解现代C++特性的人非常适合阅读本书;2.本书一定程度上介绍了一些现代C++的黑魔法,但这些魔法毕竟有限,不适合希望进阶学习现代C++的读者,本书的定位系现代c++的快速上手。当然,希望进阶学习的读者可以使用本书来回顾并检验自己对现代C++的熟悉度开始阅读你可以选择以下几种阅读方式:
本书每章中都出现了大量的代码,如果你在跟随本书介绍特性的思路编写自己的代码遇到问题时,不妨读一读随书附上的源码,你可以在这里中找到书中介绍过的全部的源码,所有代码按章节组织,文件夹名称为章节序号。
随书习题本书每章最后还加入了少量难度极小的习题,仅用于检验你是否能混合运用当前章节中的知识点。你可以在这里找到习题的答案,文件夹名称为章节序号。本书网站本书的网站源码可以在这里找到, 由hex 和vue js协同构建而成。网站旨在提供一个除Git Hub之外的阅读方式,除了在桌面端访问之外,你也可以在移动端上阅读本书。构建如果你希望在本地编译整个仓库, 我们建议使用Dcker。如果Dcker在你的本地能正常使用, 则可以简单的通过运行下面的指令完成构建:1.$make build致谢笔者时间和水平有限, 如果读者发现书中内容的错误, 欢迎提Issue, 或者直接提Pull request。详细贡献指南请参考如何参与贡献,由衷感谢每一位指出本书中出现错误的读者,包括但不限于
C++是一个用户群体相当大的语言。从C++98的出现到C++11的正式定稿经历了长达十年多之久的积累。C++14/17则是作为对C++11的重要补充和优化,C++20则将这门语言领进了现代化的大门,所有这些新标准中扩充的特性,给C++这门语言注入了新的活力。那些还在坚持使用传统C++(本书把C++98及其之前的C++特性均称之为传统C++)而未接触过现代C++的C++程序员在见到诸如Lambda表达式这类全新特性时, 甚至会流露出「学的不是同一门语言。的惊叹之情。现代C++(本书中均指C++11/14/17/20)为传统C++注入的大量特性使得整个C++变得更加像一门现代化的语言。现代C++不仅仅增强了C++语言自身的可用性,aut关键字语义的修改使得我们更加有信心来操控极度复杂的模板类型。同时还对语言运行期进行了大量的强化, Lambda表达式的出现让C++具有了“匿名函数。的 闭包。特性,而这一特性几乎在现代的编程语言(诸如Pythn/Swift/.) 中已经司空见惯, 右值引用的出现解决了C++长期以来被人诟病的临时对象效率问题等等。C++17则是近三年依赖C++社区一致推进的方向,也指出了现代c++编程的一个重要发展方向。尽管它的出现并不如C++11的分量之重,但它包含了大量小而美的语言与特性(例如结构化绑定),这些特性的出现再一次修正了我们在C++中的编程范式现代C++还为自身的标准库增加了非常多的工具和方法,诸如在语言自身标准的层面上制定了std::thread, 从而支持了并发编程, 在不同平台上不再依赖于系统底层的API, 实现了语言层面的跨平台支持;std::regex提供了完整的正则表达式支持等等。C++98已经被实践证明了是一种非常成功的「范型:,而现代C++的出现,则进一步推动这种范型,让C++成为系统程序设计和库开发更好的语言。Cncept提供了对模板参数编译期的检查, 进一步增强了语言整体的可用性总而言之,我们作为C++的拥护与实践者,始终保持接纳新事物的开放心态,才能更快的推进C++的发展,使得这门古老而又新颖的语言更加充满活力。目标读者1.本书假定读者已经熟悉了传统C++,至少在阅读传统C++代码上不具备任何困难。换句话2.本书一定程度上介绍了一些现代C++的黑魔法,但这些魔法毕竟有限,不适合希望进阶学习现
那些长期使用传统C++进行编码的人、渴望在短时间内迅速了解现代C++特性的人非常适合阅读本书;代C++的读者,本书的定位系现代C++的快速上手。当然,希望进阶学习的读者可以使用本书来回顾并检验自己对现代C++的熟悉度。本书目的本书号称“高速上手a,从内容上对二十一世纪二十年代之前产生C++的相关特性做了非常相对全面的介绍,读者可以自行根据下面的目录选取感兴趣的内容进行学习,快速熟悉需要了解的内容。这些特性并不需要全部掌握,只需针对自己的使用需求和特定的应用场景,学习、查阅最适合自己的新特性即可。同时,本书在介绍这些特性的过程中,尽可能简单明了的介绍了这些特性产生的历史背景和技术需求,这为理解这些特性、运用这些特性提供了很大的帮助此外,笔者希望读者在阅读本书后,能够努力在新项目中直接使用C++17,并努力将旧项目逐步迁移到C++17。也算是笔者为推进现代C++的普及贡献了一些绵薄之力。相关代码本书每章中都出现了大量的代码,如果你在跟随本书介绍特性的思路编写自己的代码遇到问题时,不妨读一读随书附上的源码,你可以在这里中找到书中介绍过的全部的源码,所有代码按章节组织,文件夹名称为章节序号。随书习题本书每章最后还加入了少量难度极小的习题,仅用于检验你是否能混合运用当前章节中的知识点。你可以在这里找到习题的答案,文件夹名称为章节序号。