好书推荐《C++17 in Detail》

news/2024/12/2 20:35:08/

无意中发现作者的博客(https://www.cppstories.com/)和这本书。这本书算是对C++17新增特性较为全面的介绍,而且从实战出发,不流于语法细枝末节,简洁清晰,可以作为Scott Meyers那本非著名的《Effective Modern C++》的补充。 

C++ 17是对C++语言的重大更新,引入了许多新的语言特性,这本书涵盖不少源代码,每个代码示例都会详细解释,而且本书的代码示例非常好,可读性强而且简单易懂。建议直接读英文,这本英文书籍其实不那么枯燥,英文也很容易看懂。c++发展这么多年在编程体验层面越来越好了,推荐关注和使用现代c++。

2017年,C++ 17标准发布,基于 C++ 11,C++ 17旨在使C++成为一个不那么臃肿复杂的编程语言,以简化该语言的日常使用,使开发者可以更简单地编写和维护代码。

C++ 17是对C++语言的重大更新,引入了许多新的语言特性,不过,许多C++程序员对C++ 17还不是很了解,今天和大家推荐一本免费电子书《C++ 17 in detail》。这本书的作者是BartłomiejFilipek,他是C ++社区中最活跃的博客作者之一,下面就和大家一起介绍一下这本书。

在计算机科学世界中,有许多学术书籍主要供学生使用,还有其他一些书籍主要供开发人员使用,他们在开发过程中可能需要找到一些实际解决问题的方法建议,比如说这本书。

这本书涵盖不少源代码,每个代码示例都会详细解释,而且本书的代码示例非常好,可读性强而且简单易懂,书中基本上涵盖了所有C++ 17的新特性,即便某些功能特性难以理解,BartłomiejFilipek仍采用“相对简单”的方法进行介绍,简而言之,通过本书你将快速掌握C++所有的新功能特性。

书籍pdf下载地址:关注首页公众号,回复666获取下载链接。

C++17 In Detail Book!

Join my small Survey on C++ in 2022: @Google Forms

I’m happy to present my first ebook on C++!

Here’s the short story and the description of what you can find inside.

The Story  

At the beginning of 2017, I decided to make a super long, collaborative, post about all the new things that are coming with C++17. At that time we had quite “stable” drafts, so most of the new features were already known.

Here’s the link to that long post:

C++ 17 Features - January 2017.

Having looked into the features, I got more and more curious about the details…

That’s why in the middle of 2017 I started with the article series about C++17. Every second Monday I published a new article about language features, fixes, STL changes, new libraries. In total, I wrote 9 articles, and you can find the summary in the last post:

C++17 in detail: Summary & Bonus

  • September 2017.

As you can see at that time, I came up with this title “C++17 in detail”. For most of the time I’ve even made a grammar mistake, as it was called “in details”.

The final result of the first series about C++17 was a little ebook called “C++17 in detail” - it was just a compilation of all of the available articles. It consists of around 50 pages. You can get it for free if you sign up to my mailing list.

After the series, I still wrote about the new features, but maybe in a less structured way.

Long story short, but during the late Winter 2017, I was thinking what to do next with the blog. I liked writing about new C++ features - doing investigations, reading papers and the drafts of the standard. Also, I got this idea that since I have a book - this little freely available PDF - maybe I could somehow extend it and make it a real book?

All in all, I came up with the second series on C++17: this time I focused more on the Library changes. The series started with exploring optional and new vocabulary types (any, variant), and now I describe some things related to string_view.

The second series pushed the idea of the more comprehensive book. I added the new articles into the book, and at some point, it got more than 100 pages!

In between, I discussed the idea with Jacek Galowicz, and I got huge support from him!

Since July I got this crazy idea that I should finalise the book and make it available on 10th August!

The date is not random as today is my 2^5birthday!

I knew that I wouldn’t be able to finish everything on time - as writing a book is a very extensive project - but I was also aware that near that deadline the book would have a real value to my readers. Leanpub allows me to publish a not complete book and then provide free updates for the readers.

So here it is! C++17 In Detail!

The Book  

The book is around 90% ready and contains over 200 pages. It filled with exclusive content about C++17 features.

I spent hundreds of hours investigating how the new things work in order to make a nice and practical book for you. The book will not only save your time but also will guide you through all the nuances of the language.

This book is intended for all C++ developers who have at least basic experience with C++11/14.

The principal aim of the book is to make you equipped with practical knowledge about C++17. After reading the book, you’ll be able to move past C++11 and C++14 and leverage the latest C++ techniques in your day to day tasks.

Please don’t worry if you’re not an expert in C++11/14. The book will give you necessary background, so you’ll get the information in a proper context.

Here’s the basic overview of the content:

Part One: C++17 Language features

  • Fixes and deprecation
  • Language clarification
  • General language features
  • Templates
  • Attributes

Part Two: C++17 The Standard Library

  • std::optional
  • std::variant
  • std::any
  • std::string_view
  • String operations
  • Filesystem
  • Parallel STL
  • Other Changes

Part Three: More Examples and Use Cases

  • Refactoring with std::optional
  • Using if constexpr
  • and more planned

The book is self-published @leanpub.

You can order it from this site.

C++17 In Detail with 45-day 100% Happiness Guarantee.

The Plans  

I got a lot of feedback from early relievers, and I couldn’t fix every issue. That’s why I’ll provide an update very soon - probably next week! Then, after the smaller fixes, I’ll return to the core parts: rewriting and updating the chapters. The final version should have around 250 pages.

Plans for the final version:

  • Add chapter about string operations
  • Update chapter about Parallel STL
  • Update and rewrite section about filesystem
  • Add more examples to the third part
  • More polishing across the whole book

The book should be 100% ready in a few months, Autumn 2018.

Updates

  • 31st August, more details in this blog post: The First Book Update.

Acknowledgement  

Special thanks to all of the people who helped me with the book!

Especially

  • Jacek Galowicz - @jgalowicz
  • Patrice Roy - PatriceRoy1
  • Jonathan Boccara - fluentcpp.com
  • Łukasz Rachwalski
  • Michał Czaja
  • Arne Mertz - Simplify C++
  • JFT
  • Victor Ciura @ciura_victor
  • Karol Gasiński @karolgasinski
  • Marco Arena Growing up blog
  • Andrzej Krzemienski - Andrzej’s C++ blog

Giveaway  

The giveaway has ended. Stay tuned for new promotions!

I have 5 free copies for you!

All you have to do is to write a comment about your favourite feature from C++17 and how you use it

.

And also, make sure you’re on my mailing list, so I can contact you.

The giveaway starts today, and it will last only one week. Next Friday (1pm Warsaw/PL Time) I’ll contact the 5 randomly selected winners, and they’ll get a 100% discount coupon for the book.

Summary  

The whole book editing and publish process is a super exciting experience!

It’s a pleasure for me to write about new and fascinating things in the language and I hope you’ll have fun discovering C++17 as well: through the book and the blog.

Have a look at the book here: C++17 In Detail.

And here’s the separate page of the book:

cppindetail.com with samples and full description

I've prepared a valuable bonus if you're interested in Modern C++!
Learn all major features of recent C++ Standards!
Check it out here:

Download a free copy of C++20/C++17 Ref Cards!

I've recently released a new book on Modern C++:
C++ Initialization Story @Leanpub
~210 pages, ~70 code samples, 2 quizzes, and several exercises. All for Modern C++ techniques related to initialization in C++20.

 C++ Stories


http://www.ppmy.cn/news/7014.html

相关文章

青少年等级考试【Python通关干货】(二级)

青少年等级考试【Python通关干货】(二级)1.列表类型的概念 2.序列的通用操作 3.可变序列及列表的通用操作 4.列表的特有操作 5.元组类型的概念与操作

Hive+Spark离线数仓工业项目--数仓维度层DWS层构建(1)

维度建模回顾:建模流程 目标:掌握维度建模的建模流程 实施 step1-需求调研:业务调研和数据调研 - 了解整个业务实现的过程 - 收集所有数据使用人员对于数据的需求 - 整理所有数据来源 step2-划分主题域:面向业务将业务…

SFP、SFP+、SFP28、QSFP+和QSFP28之间的区别以及不同场景的使用选型

SFP、SFP+、SFP28、QSFP+和QSFP28之间的区别以及不同场景的使用选型。 SFP、SFP+、SFP28、QSFP+和QSFP28这些光模块类型对专业人员来说并不陌生,这些热拔插模块都可用于连接网络交换机和其他网络设备(如服务器或收发器)进行数据传输。但你了解这些模块的具体区别吗?QSFP28…

Codeforces Round #840 (Div. 2)

A. Absolute Maximization 题目链接:Problem - A - Codeforces 样例输入: 4 3 1 0 1 4 5 5 5 5 5 1 2 3 4 5 7 20 85 100 41 76 49 36样例输入: 1 0 7 125题意:给定一个长度为n的数组a[],我们可以对这个数组中的数进…

html标签分类及其他知识

1、标签按照类型可以划分为三种类型: block:div、p、ul、li、h1… 1、独占一行2、支持所有样式3、不写宽的时候,跟父元素的宽相同4、所占区域是一个矩形 inline:span、a、em、strong、img… 1、挨在一起2、有些样式不支持&#x…

Python遥感图像处理应用篇(二十七):Python绘制遥感图像各波段热力图(相关系数矩阵)(续)

续-https://soderayer.blog.csdn.net/article/details/125757807 上一篇中使用csv文件计算的相关系数热力图,本篇我们直接使用遥感图像来计算图像波段之间的相关系数。 方法一:已有软件ENVI计算 实际上,目前已有的软件,如ENVI就可以直接计算图像波段之间的相关系数,该工…

MySQL主从搭建

MySQL主从搭建一 主从配置原理二 搭建步骤(基于两个docker容器)三 django实现读写分离3.1 配置数据库3.2 models中创建表3.3 数据库迁移3.4 指定要使用的数据库四 Pycharm远程连接服务器进行代码的运行与调试五 Pycharm远程链接docker开发5.1 操作 docke…

疫情信息管理系统(附源代码及数据库)

本系统是一个可以对各种疫情进行管理的系统,管理员可以直接对居民、住户进行统一的管理,这样就能在疫情期间大大减轻了管理者的工作量,使管理社区的渠道更加的方便。其主要功能有:登录功能,公告的发布,到访…