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

news2024/11/26 2:44:55

无意中发现作者的博客(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.coloradmin.cn/o/116046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022环境电器年度行业分析报告:洗地机同比增长357%,扫地机器人销量197万+

在当前的大环境下,人们的消费观念不断变化,健康因素在购买决策中的比重逐渐增大,因此,与此挂钩的环境电器行业也迎来发展变化。 在这里,鲸参谋也综合了京东平台环境电器中一些重点类目的销售数据,主要包括吸…

Krita像素画教程

Krita Windows 上一款自由开源的绘画软件 Krita 是一款自由开源的免费绘画软件,使用 GPL 许可证发布。它的功能齐全,能胜任从起草、勾线、上色到最终调整的所有绘画流程,可以绘制概念草图、插画、漫画、动画、接景和 3D 贴图,支持…

云服务器部署内网穿透映射本地服务

项目开发时需要和前端联调,考虑使用内网穿透避免每次上传服务部署的过程 下载frp (开源内网穿透、反向代理工具) https://github.com/fatedier/frp/releases/上传云服务器并解压(使用xftp等工具上传) tar -zxvf frp_0…

尚硅谷JavaWeb教程

1、Servlet Server Applet 全称为:Java Servlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类。 1.1、Ser…

李沐精读论文:DETR End to End Object Detection with Transformers

论文: End-to-End Object Detection with Transformers 代码:官方代码 Deformable DETR:论文 代码 视频:DETR 论文精读【论文精读】_哔哩哔哩_bilibili 本文参考: 山上的小酒馆的博客-CSDN博客 端到端目标检测DETR…

【javaSE】类和对象

希望各位老铁三连支持! 文章目录 # 关于面向对象# 类的定义和使用# 构造方法的创建和初始化# 封装## 封装的概念## 访问限定符## 封装包的各种用法# 关键字static# 代码块一、关于面向对象 1.1面向对象的定义 简单来说,面向对象就是一种编程的思想&…

Compose 为什么可以跨平台?

这是我在 2022 Kotlin 中文开发者大会 中带来的一个分享,会后有网友反馈希望将 PPT 内容整理成文字方便阅读,所以就有了本篇文章。大家如果要了解本次大会更多精彩内容,也可以去 JetBrains 官方视频号查看大会的直播回放。 前言 Compose 不止…

Bean的生命周期流程-上

Bean的生命周期流程-上引言getBeangetSingletoncreateBean后置处理器类型区分doCreateBeancreateBeanInstance 是如何创建bean的实例的引言 Spring拥有一套完善的Bean生命周期体系,而使得这套生命周期体系具有高扩展性的关键在于Bean生命周期回调接口,通过这些接口…

层次分析法(AHP)

主要来解决评价类问题 什么是评价类问题:选择哪种方案最好,哪位运动员表现的更优秀。 评价类问题可以用打分解决 同一颜色的单元格权重之和为1 解决评价类问题,大家首先要想到以下三个问题: 1.我们评价的目标是什么&#xff1…

FineReport数据可视化图表-配置MySQL8外接数据库(1)

1. 概述 1.1 版本 报表服务器版本 功能变更 11.0 - 11.0.3 1)首次配置外接数据库时,支持自行选择是否「迁移数据至要启用的数据库」 2)迁移外接数据库的过程提示细化,方便用户了解迁移进度 1.2 功能简介 报表系统配置外接数…

USB TYPE C为什么能实现正反插

USB TYPE C接口在手机,电脑等移动终端中使用的非常多,它可以分为插头和插座,放在PCB板上一般是插座。 USB TYPE C的插座和插头引脚信号定义大家可以看下。引脚分为两排,上面一排是A,下面一排是B。标准的USB TYPE C总共…

YOLOV5融合SE注意力机制和SwinTransformer模块开发实践的中国象棋检测识别分析系统

本文紧接前文: 《基于yolov5s实践国际象棋目标检测模型开发》 《yolov5s融合SPD-Conv用于提升小目标和低分辨率图像检测性能实践五子棋检测识别》 首先来看下最终效果: 在我棋类检测系统开发之——五子棋检测那篇博文写完之后就萌生了想做一下基于目标…

WebDAV之葫芦儿·派盘+BubbleUPnP

BubbleUPnP 支持WebDAV方式连接葫芦儿派盘。 推荐一款投屏神器,它将手机内容分享到电视大屏上与家人好友一起共享,软件还提供了丰富的音乐及影视资源,喜欢的内容在线搜索就能播放。支持连接葫芦儿派盘WebDAV服务站,可以直接播放派盘内的影视资源。 BubbleUPnP是一款支持U…

水文监测系统-水文监测站构成 设备 功能 特点介绍以及案例分享

平升电子水文监测系统实现对江河流域水位、降水量、流量、流速、水质、闸门开启度、墒情等数据的实时采集、报送和处理。为防汛抗旱减灾提供科学依据和有效信息共享,保障人民群众生命财产安全,满足水利和经济社会发展对水文服务的需求。 2022年1月&#…

web前端-javascript-百炼成仙(第1节掌握JavaScript基础1.1-1.21)

文章目录1.1 第一章 初入宗门1.2 第二章 直接量1.3 第三章 数据类型1.4 第四章 数据类型扩展内容:1.5 第五章 基础考核1.6 第六章 何老1.7 第七章 对象数据类型1.8 第八章 对象的取值1.9 第九章 循环遍历的奥妙小结:For 循环1.10 第十章 对象内容的遍历1.11 第十一章…

Linux软件包管理之rpm与yum

Linux软件包管理之rpm与yum1.Linux rpm 命令2.rpm包的管理3.yum包管理(强推)1.Linux rpm 命令 Linux rpm 命令用于管理套件。 rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux…

高端运动耳机哪个品牌最好、最好的运动耳机品牌排行

蓝牙耳机近几年受到市场的欢迎,种类越来越多,各类功能也日益五花八门,消费者很难准确的进行分辨,一不小心可能买到华而不实的产品。现在了解一下值得入手的蓝牙耳机,从多个角度对蓝牙耳机进行评估后,得出以…

android 权限常见错误,onRequestPermissionsResult回调不执行问题

今天在调试一个fragment时,申请到权限,然后在权限回调里面做相应的dialog提示用户,但是发现一直无弹窗。 话不多说,直接上问题代码 private void testRxPermissions() {ActivityCompat.requestPermissions(this.getActivity(), ne…

ajax学习

1.什么是ajax(局部刷新) 2.原生ajax WebServlet("/ajaxServlet") public class AjaxServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException…

基于uniapp的药品商城外卖小程序

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…