Conversions, Searchers and C++17 In Detail Updates
Table of Contents
I’m happy to announce that last Friday I updated the book! “C++17 In Detail” grew by 31 pages (up to 250), includes two new chapters and lots of “bug” fixes and better explanations.
See what’s inside.
Here’s the short version of the release notes:
– New chapter - String Conversions
– New chapter - Searchers & String Matching
– An updated chapter about Parallel Algorithms Chapter, perf results, better explanations
– Added notes about
clamp in the Other STL Changes
– Better explanations in many chapters like Variant,
– Typos, Grammar, formatting issues
Here’s the link to the book:
To prepare the new chapters I started doing some experiments with new searchers objects and conversions in August and September.
You can find some of my notes:
Speeding up Pattern Searches with Boyer-Moore Algorithm from C++17
Preprocessing Phase for C++17’s Searchers
Two weeks ago I also did a presentation for my local C++ user group in
Let’s talk about string operations in C++17 | Meetup
The new low-level conversion routines (
excellent performance and should help with improving number parsing in
your projects. They are quite crude and even looks C-style, but on the
other hand, they are flexible and returns a lot of information about the
conversion process. The whole processing is done without any memory
allocation, throwing exceptions, locale support or format string…
In the book, I’ve even done a benchmark to see what you can expect from the new functions. I created an application that performs a round-trip: converting from a vector of integers, into a vector of strings and then back to another vector of integers.
const vector<int> inputVector = GenerateRandomVector(); const vector<string> strVector = ConverToStrings(inputVector); const vector<int> outputVector = ConverToNumbers(strVector); Compare(inputVector, outputVector);
Usually, the new conversion routines performed 2x…5x faster than
stoi. And that happens across all
compilers I’ve used: Clang 7.0, GCC 8.2 and Visual Studio 2017 15.8.
So far GCC and Clang offer only integer support, Visual Studio has
additionally floating point support for
from_chars (and hopefully
to_chars will get floats in 15.9).
MSVC Blog Promo
I’m pleased to mention that my book was listed in one of the recent articles from the Visual C++ Team:
The book is still now 100% ready, and here’s the general overview of what you can expect in the following months:
- rewrite the filesystem chapter
- rewrite the parallel stl chapter
- add more examples to the third part of the book
I hope to finish the book with two major updates: at the end of October and then at the end of November.
Some minor fixes might happen along the way of course :)
Until the book is not 100% done, you have a chance to buy it much cheaper and get free updates later.
Tomorrow (Tuesday 3rd Oct) I’m planning to increase the minimum price, from 9,99$
(suggested price is still 24,99$) so today you have a chance to buy it at a lower price.
I appreciate your initial feedback and support! The book has now more than 370 readers! That’s not too bad I think :)
Let me know what’s your experience with the book. What would you like to change? What would you like to see more?
Once again here’s the link to the book:
C++17 In Detail @Leanpub