Introduction: What is this book about
If you are a complete beginner in programming, you are about to start an extraordinary adventure — your firsts movements in this vast land demand much ingenuity and patience.
Once you get through, you add new knowledge incrementally on top of what you already know. Hence, the challenge is to start up your journey.
In any case, beginner or experienced, learning C++ gives you control of a potent tool. C++ operates directly on the memory of the computer, which is a striking difference from other popular programming languages. This feature makes your journey divergent from others learning Python or Java.
As you operate directly on the memory, you have much power to develop great tools, and also many ways to cause trouble. I like to think of C++ as a sharp knife — it could be a unique handy tool, and you can harm yourself as well. If you remove the blade to make it safe, you make it useless at the same time.
Most of the outstanding books, conferences and tutorials on C++ convey ideas on how to exploit this power carefully. Also this book. However, this book is somewhat unconventional.
A typical C++ course teaches elements of the syntax in every chapter. As you progress in your learning, you know more ingredients to make more complex programs. However, in this book, the objective is to teach you something helpful to address real problems in every chapter. I want you to grasp the power of C++ programming from the outset.