Design professional-grade, maintainable apps by learning advanced concepts such as functional programming, templates, and networking
Apply design patterns and best practices to solve real-world problems
Improve the performance of your projects by designing concurrent data structures and algorithms
Description
C++ has evolved over the years and the latest release – C++20 – is now available. Since C++11, C++ has been constantly enhancing the language feature set. With the new version, you’ll explore an array of features such as concepts, modules, ranges, and coroutines. This book will be your guide to learning the intricacies of the language, techniques, C++ tools, and the new features introduced in C++20, while also helping you apply these when building modern and resilient software.
You’ll start by exploring the latest features of C++, and then move on to advanced techniques such as multithreading, concurrency, debugging, monitoring, and high-performance programming. The book will delve into object-oriented programming principles and the C++ Standard Template Library, and even show you how to create custom templates. After this, you’ll learn about different approaches such as test-driven development (TDD), behavior-driven development (BDD), and domain-driven design (DDD), before taking a look at the coding best practices and design patterns essential for building professional-grade applications. Toward the end of the book, you will gain useful insights into the recent C++ advancements in AI and machine learning.
By the end of this C++ programming book, you’ll have gained expertise in real-world application development, including the process of designing complex software.
Who is this book for?
This C++ book is for experienced C++ developers who are looking to take their knowledge to the next level and perfect their skills in building professional-grade applications.
What you will learn
Understand memory management and low-level programming in C++ to write secure and stable applications
Discover the latest C++20 features such as modules, concepts, ranges, and coroutines
Understand debugging and testing techniques and reduce issues in your programs
Design and implement GUI applications using Qt5
Use multithreading and concurrency to make your programs run faster
Develop high-end games by using the object-oriented capabilities of C++
Nice book , advanced concepts very much satisfied with the contents.
Subscriber review
Sterling EanesAug 02, 2022
2
This book does not live up to its title and is not worth the price. If you read and understood everything in the book you would be nowhere near being a C++ expert. It is very superficial with topics 'covered' seemingly more to claim in the promotional blurbs that the sexy sounding topics are covered rather than to provide a useful depth of information about those topics.It's not totally worthless, which is why I gave it 2 stars rather than one, since it could make you aware that some C++ features are out there, even though it doesn't provide enough depth for you to start using most of those features.The writing, the illustrating, the editing and the printing show a poor, cheap quality that says to me that little care was taken in creating and producing this book. It's full of typos (e.g. 'sturct' rather than 'struct' in an example, indicating that the examples were not extracted from working code or carefully proofread). The diagrams are poorly drawn in an inconsistent style and, worse, poorly thought out and likely confusing to someone just learning C++. The index is also light and superficial and so isn't very helpful. The printing is of poor quality and on inferior paper stock. A large fraction of the pages have printing glitches running down the pages that causes the text baseline to waver along the line.So, save your money on this book and look for others out there that are more informative.
Amazon Verified review
GeorgeApr 28, 2022
3
This book explains many basic concepts from base C++ (aka C++11) and doesn't explains what some newer concepts are, even though they are used. The book also leads you into thinking that it will work through a project within a chapter, but actually doesn't do that, instead only doing small snippets of the project and explaining other parts in text only (it feals like they were told the book could only be so many pages long and constantly reminds you of this). The AI chapters is also severely missing in content, both conceptually and in code examples.The early part of this book focuses in on how the compiler works and how it changes you code to look like, but then says how different compilers may work differently.The book also mentions that it would cover certain C++20 content that it barely mentions and doesn't explain how to use it or hiw it is better than a method(s) that already existed. This is especially felt, in my opinion, in the section that mentions (it doesn't truly cover) ranges. I have little experience with functional style programming, and, in comparison to OOP, neither does many C++ programs. Similarly, concepts are shown, but it doesn't really show how to make your own.The section, in my opinion, that has the best coverage is the chapter that covers multi-threading, but it was still lacking in its explanation on coroutines. Similarly, template metaprogramming is also covered well, but I feel the author(s) didn't use any of the newer additions to C++ that I expect, but haven't had time to test and see, to work.The section on GUIs focused on just one library, Qt, and I feel other libraries should have been looked at. It also didn't do a good job at showing what different widgets/layouts looked like.I think that this would be a good book for an intermediate C++ program with plenty of free time to further develop the projects shown, but it shouldn't be the only resources used or you will come out knowing little or nothing about some content.
Amazon Verified review
FAmDec 19, 2021
4
Really great book to master modern C++. It covers and explains the concepts well it also tries to explain in the perspective of compiler. I gave 4 ⭐ just because I faced some wrong examples which even didn't get compiled under C++20 and lower compilers
Vardan Grigoryan is a senior backend engineer and C++ developer with more than 9 years of experience. Vardan started his career as a C++ developer and then moved to the world of server-side backend development. While being involved in designing scalable backend architectures, he always tries to incorporate the use of C++ in critical sections that require the fastest execution time. Vardan loves tackling computer systems and program structures on a deeper level. He believes that true excellence in programming can be achieved by means of a detailed analysis of existing solutions and by designing complex systems.
Cheng-Yang Wu has been tackling infrastructure and system reliability since he received his master's degree in computer science from National Taiwan University. His laziness prompted him to master DevOps skills to maximize his efficiency at work so as to squeeze in writing code for fun. He enjoys cooking as it's just like working with software a perfect dish always comes from balanced flavors and fine-tuned tastes.
Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.
If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.
Please Note: Packt eBooks are non-returnable and non-refundable.
Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:
You may make copies of your eBook for your own use onto any machine
You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website?
If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:
Register on our website using your email address and the password.
Search for the title by name or ISBN using the search option.
Select the title you want to purchase.
Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title.
Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook?
If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
To view your account details or to download a new copy of the book go to www.packtpub.com/account
Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.
You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.
What are the benefits of eBooks?
You can get the information you need immediately
You can easily take them with you on a laptop
You can download them an unlimited number of times
You can print them out
They are copy-paste enabled
They are searchable
There is no password protection
They are lower price than print
They save resources and space
What is an eBook?
Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.
When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.
For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.