{"id":8803,"date":"2023-12-20T09:39:38","date_gmt":"2023-12-20T09:39:38","guid":{"rendered":"https:\/\/www.modernescpp.com\/?p=8803"},"modified":"2023-12-20T09:39:38","modified_gmt":"2023-12-20T09:39:38","slug":"the-second-edition-of-my-c20-book-on-amazon","status":"publish","type":"post","link":"https:\/\/www.modernescpp.com\/index.php\/the-second-edition-of-my-c20-book-on-amazon\/","title":{"rendered":"The Second  Edition of my C++20 Book on Amazon"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">I have given many C++20 classes in the last two years and improved my C++20 knowledge. Consequentially, I updated my C++20 book. This update includes restructured chapters, more detailed information, and additional examples. The book now has almost 700 pages and more than 200 examples. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"770\" height=\"1030\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/12\/coverCippiSecond-770x1030.png\" alt=\"\" class=\"wp-image-8805\" style=\"width:400px;height:undefinedpx\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/12\/coverCippiSecond-770x1030.png 770w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/12\/coverCippiSecond-224x300.png 224w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/12\/coverCippiSecond-768x1027.png 768w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/12\/coverCippiSecond-1149x1536.png 1149w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/12\/coverCippiSecond-1531x2048.png 1531w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/12\/coverCippiSecond-1122x1500.png 1122w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2023\/12\/coverCippiSecond-527x705.png 527w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This issue is the final one. I&#8217;m done and will only fix errors in the future. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Get the Printed Book: <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.amazon.com\/dp\/B0CQNGC2VQ?ref_=pe_93986420_774957520\" data-type=\"link\" data-id=\"https:\/\/www.amazon.com\/dp\/B0CQNGC2VQ?ref_=pe_93986420_774957520\">US<\/a>, <a href=\"https:\/\/www.amazon.co.uk\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.co.uk\/dp\/B0CQNGC2VQ\">UK<\/a>, <a href=\"https:\/\/www.amazon.de\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.de\/dp\/B0CQNGC2VQ\">DE<\/a>, <a href=\"https:\/\/www.amazon.fr\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.fr\/dp\/B0CQNGC2VQ\">FR<\/a>, <a href=\"https:\/\/www.amazon.es\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.es\/dp\/B0CQNGC2VQ\">ES<\/a>, <a href=\"https:\/\/www.amazon.it\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.it\/dp\/B0CQNGC2VQ\">IT<\/a>, <a href=\"https:\/\/www.amazon.nl\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.nl\/dp\/B0CQNGC2VQ\">NL<\/a>, <a href=\"https:\/\/www.amazon.pl\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.pl\/dp\/B0CQNGC2VQ\">PL<\/a>, <a href=\"https:\/\/www.amazon.se\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.se\/dp\/B0CQNGC2VQ\">SE<\/a>,\u00a0<a href=\"https:\/\/www.amazon.co.jp\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.co.jp\/dp\/B0CQNGC2VQ\">JP<\/a>, <a href=\"https:\/\/www.amazon.ca\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.ca\/dp\/B0CQNGC2VQ\">CA<\/a>, and <a href=\"https:\/\/www.amazon.com.au\/dp\/B0CQNGC2VQ\" data-type=\"link\" data-id=\"https:\/\/www.amazon.com.au\/dp\/B0CQNGC2VQ\">AU<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Get the Source Code:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/RainerGrimm\/Cpp20\">https:\/\/github.com\/RainerGrimm\/Cpp20<\/a> (more than 200 running code examples)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Few Details<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">My book C++20 is a tutorial and a reference for the C++20 standard. It teaches you C++20 and provides details of this new thrilling C++ standard. The thrilling factor is mainly due to the big four of C++20.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Big Four<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Concepts<\/strong> change the way we think and program templates. They are semantic categories for the template parameters and enable you to express your intention directly in the type system. If something goes wrong, you get a clear error message.<\/li>\n\n\n\n<li>The new <strong>ranges library<\/strong> enables it to perform algorithms directly on the container, compose the algorithm with the pipe symbol, and apply them to infinite data streams.<\/li>\n\n\n\n<li>Thanks to <strong>coroutines,<\/strong> asynchronous programming in C++ has become mainstream. Coroutines are the base for cooperative tasks, event loops, infinite data streams, or pipelines.<\/li>\n\n\n\n<li><strong>Modules<\/strong> overcome the restrictions of header files. They promise a lot. For example, the separation of header and source files becomes obsolete as the preprocessor. Ultimately, we have faster built time and an easier way to build packages.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This is not all.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Core Language<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Three-Way Comparison Operator<\/li>\n\n\n\n<li>Designated Initialization<\/li>\n\n\n\n<li><code>consteval<\/code> and <code>constinit<\/code><\/li>\n\n\n\n<li>Template Improvements<\/li>\n\n\n\n<li>Lambda Improvements<\/li>\n\n\n\n<li>New Attributes<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">The Standard Library<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>std::span<\/code><\/li>\n\n\n\n<li>Container Improvements<\/li>\n\n\n\n<li>Arithmetic Utilities<\/li>\n\n\n\n<li>Formatting Library<\/li>\n\n\n\n<li>Calendar and Time Zones<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Concurrency<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Atomics<\/li>\n\n\n\n<li>Semaphores<\/li>\n\n\n\n<li>Latches and Barriers<\/li>\n\n\n\n<li>Cooperative Interruption<\/li>\n\n\n\n<li><code>std::jthread<\/code><\/li>\n\n\n\n<li>Synchronized Outputstreams<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I have given many C++20 classes in the last two years and improved my C++20 knowledge. Consequentially, I updated my C++20 book. This update includes restructured chapters, more detailed information, and additional examples. The book now has almost 700 pages and more than 200 examples. This issue is the final one. I&#8217;m done and will [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":8230,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[360],"tags":[],"class_list":["post-8803","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts\/8803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/comments?post=8803"}],"version-history":[{"count":11,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts\/8803\/revisions"}],"predecessor-version":[{"id":8815,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts\/8803\/revisions\/8815"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media\/8230"}],"wp:attachment":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media?parent=8803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/categories?post=8803"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/tags?post=8803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}