Just read an interview with Bjarne Stroustrup, the inventor of C++, where he studiously avoided talking about C# as much as possible. Understandable, perhaps - in my opinion most (not all, but most) programming projects for Windows systems would benefit greatly from using C# instead of C++.
Not that the above observation has anything to do with "Ivor Horton's Beginning Visual C++ 2008"; I just felt the urge to pass along that opinion in case the reader of this review has not yet decided whether to start learning C++ or C#.
For those who are interested in learning C++ for use with Windows, I can recommend this book. It is well written and covers everything you need to know to get started. In fact, at 1356 pages (not 1392, as currently listed at Amazon) it covers much more than most people need to know.
In Visual Studio 2005, and continuing in Visual Studio 2008, Microsoft introduced a new dialect of C++ called C++/CLI. The great advantage of C++/CLI is that it allows you to integrate "managed" programming (programs that run on the .Net Framework) and "unmanaged" or "native" programming. This is a unique ability of C++/CLI, and for this kind of programs C++/CLI can run circles around C#.
Ivor Horton's book provides a good introduction to C++/CLI, with most chapters being divided into two parts; the first part about classical (ANSI/ISO) C++ and the second part about C++/CLI. However, as a beginner's book, it does not get into the really exciting managed/unmanaged "interop" parts of C++/CLI. For that you will need a more advanced book, for example Expert Visual C++/CLI: .NET for Visual C++ Programmers (Expert's Voice in .Net) - and some experience in creating both managed and unmanaged programs.
On the other hand, if C++/CLI is of no interest to you, then you can easily ignore those parts of the book.
Turning to more general comments, this book is well written and does a good job of describing all of the (sometimes messy) details about C++. There are many programming examples, all meticulously explained. The source code for the examples is available on the publisher's web site. There is even an online service - at one point I mistakenly thought I'd found a bug in one of the examples and I reported it as errata. In response I received a kind message from Mr. Horton himself telling me why I was wrong.
I liked the occasionally humorous tone of the book too, and was especially intrigued by Mr. Horton's reference to a book called "Paneless Programming" from 1981.
There are no major negative aspects, but I did find the fairly large number of typos somewhat irritating. Another surprising experience was that the index, although huge at 38 pages, was missing obvious entries such as "enum" and "typedef". Occasionally material was presented in a slightly illogical way, being (prematurely?) mentioned briefly in one chapter and then finally described properly in a later chapter.
As mentioned by other reviewers, in order to do the MFC parts of the book you need to have access to one of the non-free versions of Microsoft Visual Studio 2008.
This is a very good introductory book about C++ and C++/CLI for Visual Studio 2008.
Rennie Petersen