好书推荐《C++17 in Detail》
Posted 特立独行的猫a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了好书推荐《C++17 in Detail》相关的知识,希望对你有一定的参考价值。
无意中发现作者的博客(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^5
birthday!
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++17 in Detail》的主要内容,如果未能解决你的问题,请参考以下文章