• Complain

Nicolai M. Josuttis - C++20 - The Complete Guide

Here you can read online Nicolai M. Josuttis - C++20 - The Complete Guide full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2021, publisher: leanpub.com, genre: Home and family. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover

C++20 - The Complete Guide: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "C++20 - The Complete Guide" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Nicolai M. Josuttis: author's other books


Who wrote C++20 - The Complete Guide? Find out the surname, the name of the author of the book and a list of all author's works by series.

C++20 - The Complete Guide — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "C++20 - The Complete Guide" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
C20 - The Complete Guide Nicolai M Josuttis This book is for sale at - photo 1
C++20 - The Complete Guide
Nicolai M. Josuttis

This book is for sale at http://leanpub.com/cpp20

This version was published on 2021-12-31

This is a Leanpub book Leanpub empowers authors and publishers with - photo 2

* * * * *

This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do.

* * * * *

2019 - 2021 Nicolai M. Josuttis

Black Lives Matter

Preface

C++20 is the next evolution in modern C++ programming,which is already (partially) supported by the latest version of gcc, clang, and Visual C++.The move to C++20 is at least as big a step as the move to C++11.C++20 contains a significant number of new language features and librariesthat again will change the way we program in C++.This applies to both application programmers and programmerswho provide foundation libraries.

1.1 An Experiment

This book is an experiment in two ways:

  • I am writing an in-depth book covering a complex new features provided by different authors and C++ working groups. However, I can ask questions and I do.
  • I am publishing the book myself on Leanpub and for printing on demand. That is, this book is written step by step and I will publish new versions as soon there is a significant improvement that makes the publication of a new version worthwhile.

The good thing is:

  • You get the view of the language features from an experienced application programmersomebody who feels the pain a feature might cause and asks the relevant questions to be able to motivate and explain the design and its consequences for programming in practice.
  • You can benefit from my experience with C++20 while I am still learning and writing.
  • This book and all readers can benefit from your early feedback.

This means that you are also part of the experiment.So help me out:give about flaws, errors,features that are not explained well, or gaps,so that we all can benefit from these improvements.

1.2 Versions of This Book

Because this book is written incrementally,the following is a history of the major updates(newest first):

  • 2021-12-31: Describe where typename is no longer required for type members of template parameters
  • 2021-12-30: Describe new bit operations (including bit_cast<>())
  • 2021-12-29: Describe all improvements for string types (including std::u8string and using strings at compile time)
  • 2021-12-28: Describe the unseq execution policy for algorithms
  • 2021-12-25: Describe all other missing lambda features
  • 2021-12-11: Describe consteval lambdas
  • 2021-12-06: Describe std::endian
  • 2021-12-06: Describe synchronized output streams
  • 2021-12-04: Describe header
  • 2021-11-21: Describe compile-time use of vectors and constexpr extensions
  • 2021-10-25: Describe designated initializers
  • 2021-10-14: Describe severe compatibility issues with operator==
  • 2021-10-14: Describe mathematical constants
  • 2021-10-12: Describe constinit, consteval, and std::is_constant_evaluated()
  • 2021-10-07: Describe char8_t for UTF-8 (and its compatibility issues)
  • 2021-10-02: Clarify over which const views you cannot iterate
  • 2021-10-01: Details about the formatting library
  • 2021-09-21: Updates and fixes according to several reviews
  • 2021-09-20: First description of features for modules
  • 2021-09-11: const issues of ranges and views
  • 2021-08-30: All concepts documented
  • 2021-08-30: All concepts documented
  • 2021-08-28: Document all new type traits
  • 2021-08-27: Document iterator utility functions for ranges.
  • 2021-08-26: Document lazy_split_view<> added to C++20 with a defect.
  • 2021-08-25: Document all missing views of C++20 and all_t<>
  • 2021-08-20: Document all new iterator types (counted_iterator, common_iterator, default_sentinel, unreachable_sentinel)
  • 2021-08-20: Document all primary range adaptors (counted(), all(), and common())
  • 2021-08-19: Document common_view
  • 2021-08-16: Document how to deal with semantic constraints of concepts
  • 2021-08-15: Document type_identity
  • 2021-07-31: Document empty_view, ref_view, and view_interface
  • 2021-07-29: Generic code for range has to use universal/forwarding references
  • 2021-07-28: Document iota_view and unreached_sentinel
  • 2021-07-27: Extend and reorganize chapters about ranges and views
  • 2021-07-17: Document subrange
  • 2021-07-15: Fix wrong website for the book
  • 2021-07-09: Document
  • 2021-06-29: The initial published version of the book. The following features are more or less completely described or provide at least a full conceptual introduction:
    • Comparisons and the spaceship operator <=>
    • Generic functions
    • Concepts and requirements (details open)
    • Ranges and views (details open)
    • Spans
    • Non-type template parameter extensions
    • Formatted output (overview only)
    • Dates and time zones for
    • Coroutines (first examples)
    • std::thread and stop tokens
    • New concurrency features
1.3 Acknowledgments

First of all, I would like to thank you, the C++ community,for making this book possible.The incredible design of all the features of C++20, thehelpful feedback, and your curiosity are thebasis for the evolution of a successful language.In particular, thanks for all the issues youtold me about and explained and for the feedback you gave.

I would especially like to thank everyone who reviewed drafts of this bookor corresponding slidesand provided valuable feedback and clarification.These reviews increased the quality of the book significantly,again proving that good things are usually the result of many people.Therefore, so far (this list is still growing)huge thanks toCarlos Buchart,Javier Estrada,Howard Hinnant,Paul Ranson,Thomas Symalla,Steve VinoskiandVictor Zverovich.

===== This chapter/section is at work =====

In addition, I would like to thank everyoneon the C++ standards committee.In addition to all the work involved in adding new language and library features,these experts spent many, many hours explaining and discussing their work with me, andthey did so with patience and enthusiasm.Special thanks here go toHoward Hinnant,Tomasz Kaminski,Arthur ODwyer,Peter Sommerlad,Tim Song,Barry Revzin,Ville Voutilainen,andJonathan Wakely.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «C++20 - The Complete Guide»

Look at similar books to C++20 - The Complete Guide. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «C++20 - The Complete Guide»

Discussion, reviews of the book C++20 - The Complete Guide and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.