Isn't is easier to start with Petzold if one is going to program under Windows?
There are a few problems with this. First, GUI programming is not the be all and end all of programming, it's merely a tiny (and rather trivial) subset of it. Second, not everyone targets Windows, and learning C++ and learning Windows programming are two very different things that have to be treated as two separate learning processes. Third, why learn to do specific Windows programming when you can easily learn to use cross-platform tools that develop equivalent skills yet are more durable and useful in industry. Fourth, Petzold's books don't teach C++ at all. The pre-.NET editions teach you about the Win32 API and uses the C programming language (not C++), both of which are interesting for legacy reasons but a largely outdated these days. The post-.NET editions are in C#, with some examples translated to C++/CLI (or C++/CX, or whatever the latest re-branding of Managed-C++ is), neither of which have anything more to do with C++ than Java does, which is a terrible pathway to learning C++. And finally, Petzold himself stresses the fact that these are not books that teach programming, knowledge of programming is assumed prior to reading the books, they are just guides to help a capable programmer find his way around Windows' APIs. So, certainly, this is nowhere to "start with".
And this thread is about books that teach C++ programming, let's keep it to that, otherwise it will disolve into "if you want to learn this, use this book, if you want to learn that, use that book".