Learn the C++ programming language in a structured, straightforward, and friendly manner. This book teaches the basics of the modern C++ programming language, the C++ Standard Library, and modern C++ standards, including C++23. No previous programming experience is required.
C++ is a language like no other, surprising in its complexity, yet wonderfully sleek and elegant in so many ways. It is also a language that cannot be learned by guessing, one that is easy to get wrong and challenging to get right. To overcome this, each section is filled with real-world examples that gradually increase in complexity. Modern C++ for Absolute Beginners, Second Edition teaches more than just programming in C++23. It provides a solid C++ foundation to build upon.
The author takes you through the C++ programming language, the Standard Library, and C++11 to C++23 standard basics. Each chapter is accompanied by the right amount of theory and plenty of source code examples. You will work with C++23 features and standards, yet you will also compare and take a look into previous versions of C++.
After reading this book, you’ll be able to start programming in modern C++ standards. You will do so with plenty of relevant source code examples, freely available via a dedicated GitHub repository.
What You Will Learn
- Get Introduced to modern C++ in a friendly but effective way
- Work with the basics of C++: types, operators, variables, constants, expressions, references, functions, classes, I/O, smart pointers, polymorphism, and more
- Set up the Visual Studio environment on Windows and GCC on Linux, where you can write your own code
- Declare and define functions, classes, and objects, and organize code into namespaces
- Discover object-oriented programming: classes and objects, encapsulation, inheritance, polymorphism, and more using the most advanced C++ features
- Employ best practices in organizing source code and controlling program workflow
- Get familiar with C++ language do’s and don’ts, and more
- Manage the basics of lambdas, inheritance, polymorphism, smart pointers, templates, modules, contracts, concepts, and more