Front Matter....2
1. Basic Ideas....33
2. Introducing Fundamental Types of Data....65
3. Working with Fundamental Data Types....122
4. Making Decisions....163
5. Arrays and Loops....218
6. Pointers and References....266
7. Working with Strings....309
8. Defining Functions....344
9. Vocabulary Types....392
10. Function Templates....412
11. Modules and Namespaces....442
12. Defining Your Own Data Types....490
13. Operator Overloading....584
14. Inheritance....651
15. Polymorphism....698
16. Runtime Errors and Exceptions....761
17. Class Templates....823
18. Move Semantics....896
19. First-Class Functions....929
20. Containers and Algorithms....973
21. Constrained Templates and Concepts....1029
Back Matter....1055
Begin your programming journey with C++, starting with the basics and progressing through step-by-step examples that will help you become a proficient C++ programmer. This book includes new features from the C++20 standard such as modules, concepts, ranges, and the spaceship operator. All you need are Beginning C++20 and any recent C++ compiler and you'll soon be writing real C++ programs. There is no assumption of prior programming knowledge.All language concepts that are explained in the book are illustrated with working program examples, and all chapters include exercises for you to test and practice your knowledge. Free source code downloads are provided for all examples from the text and solutions to the exercises.This latest edition has been fully updated to the latest version of the language, C++20, and to all conventions and best practices of modern C++. Beginning C++20 also introduces the elements of the C++ Standard Library that provide essential support for the C++20 language.
Programmers new to C++ and those who may be looking for a refresh primer on C++ in general.
Ивор Хортон и Питер Ван Вирт создали фундаментальный учебник по современному C++, ориентированный на стандарт C++20. Книга объёмом более 1000 страниц последовательно ведёт читателя от основ (типы, операторы, функции) до сложных тем: move-семантика, концепты, модули, диапазоны.
Сильные стороны:
new/delete, контейнеры STL, лямбды,std::format, оператор<=>.std::span,std::string_view.Недостатки:
Для кого: начинающих с логическим складом ума, студентов, опытных разработчиков, переходящих на C++17/20.
Итог: отличный современный учебник для глубокого изучения C++20, но требует времени и практики.