Generally disappointed
I'll divide the contents of the book into categories Processes, Exercises, and Knowledge.
The processes outlined in the book are pretty good. Surely by employing these, anyone may solve problems presented to them of any complexity where the solver is aware of the necessary tools. However, they are very general, usually obvious, and maybe helpful only for the most inexperienced of programmers.
Edit to add: The last two chapters of the book are very very good.
The exercises in the book make for a good workout, regardless of skill level. I've never programmed in C++, so I opted to translate them to Rust as I went, which unfortunately meant many of the exercises would become exercises in futility, as ergonomic Rust can be fundamentally incompatible with the goals of many exercises. Still, the ones I was able to do were good practice, and the ones I wasn't I could draw out on paper just as well. I was even able to use the exercises in the chapter on Classes and OOP as an opportunity to practice Structs-of-Arrays patterns and Data-Oriented Design.
The knowledge in this book was truly disappointing. It was generally good at first, working as a nice and easy, but non-comprehensive, introduction to C++. I feel like I was able to understand the code presented well and it introduced things in a very digestible way (granted I have experience with the same concepts in other languages). But, as it went on, it became more like that one teacher you have in school who just has opinions on things and teaches those instead of the whole thing.
A good example of this would be the chapter on recursion. Recursion is important, and the book does well in explaining recursion and how to think about it. However, even though it goes over head and tail recursion, it opts to omit information about technical reasons you might choose one over the other, like Tail Call Elimination, and instead tells you to prefer head recursion because it looks nicer. The author even goes as far as to make an example of the same function using head and tail recursion, and the tail recursive function is unnaturally complex; he then concludes that tail recursion is worse because of how much more complex it is-- OBVIOUSLY, because you made it more complex than it needed to be. I have to assume the author just doesn't know about TCE, because he goes on to talk about how Recursive functions always incur a stack/function call setup cost to operate. Throughout the book, there are many cases like this where I cannot tell if this comes from a strong opinion about code style or if the author genuinely doesn't understand these underlying technical aspects of structure and optimization.
Finally, it includes knowledge related to various problems and data structures and algorithms that you're likely to use as a programmer and certain to see in Leetcode. This is good, and it could definitely be a good book for someone who's confident with very basic coding problems and looking to start with Leetcode and Data Structures/Algorithms. It's just hard to recommend given the issues above.