Written by the inventor of the language, Bjarne Stroustrup, The C++ Programming Language is the definitive, classic text on the language that has become central to software development over the past ten years. Based on the ISO final draft standard, this third edition is a complete rewrite presenting C++ and its standard library as an integrated whole. The book covers the complete C++ language including its C subset and modern features such as abstract classes, templates, exceptions, namespaces, run-time type identification, and the Standard Template Library that have revolutionized C++ development. The book focuses on how to use the language as a tool for real-world design and programming. It teaches the basic concepts a programmer needs to master object-oriented programming, generic programming, and C++.
Bruce Eckel has kindly provided his book "Thinking in C++, Second Edition" free of charge to on-line readers. The text first sets the stage for using C++ with a tour of what object-oriented programming is all about, as well as the software design life cycle. The author then delves into every aspect of C++, from basic keywords and programming principles to more advanced topics, like function and operator overloading, virtual inheritance, exception handling, namespaces, and templates. C++ is a complex language, and the author covers a lot of ground using today's Standard C++, but without getting bogged down in excessive detail.