Addison-Wesley, 2014. — 1312 p.
The second edition.
An Introduction to Programming by the Inventor of C++.
Preparation for Programming in the Real WorldThe book assumes that you aim eventually to write non-trivial programs, whether for work in software development or in some other technical field.
Focus on Fundamental Concepts and Techniques.The book explains fundamental concepts and techniques in greater depth than traditional introductions. This approach will give you a solid foundation for writing useful, correct, maintainable, and efficient code.
Programming with Today’s C++ (C++11 and C++14)The book is an introduction to programming in general, including object-oriented programming and generic programming. It is also a solid introduction to the C++ programming language, one of the most widely used languages for real-world software. The book presents modern C++ programming techniques from the start, introducing the C++ standard library and C++11 and C++14 features to simplify programming tasks.
For Beginners—And Anyone Who Wants to Learn Something NewThe book is primarily designed for people who have never programmed before, and it has been tested with many thousands of first-year university students. It has also been extensively used for self-study. Also, practitioners and advanced students have gained new insight and guidance by seeing how a master approaches the elements of his art.
Provides a Broad ViewThe first half of the book covers a wide range of essential concepts, design and programming techniques, language features, and libraries. Those will enable you to write programs involving input, output, computation, and simple graphics. The second half explores more specialized topics (such as text processing, testing, and the C programming language) and provides abundant reference material. Source code and support supplements are available from the author’s website.
Notes to the Reader
Computers, People, and Programming
The BasicsHello, World!
Objects, Types, and Values
Computation
Errors
Writing a Program
Completing a Program
Technicalities: Functions, etc.
Technicalities: Classes, etc.
Input and OutputInput and Output Streams
Customizing Input and Output
A Display Model
Graphics Classes
Graphics Class Design
Graphing Functions and Data
Graphical User Interfaces
Data and AlgorithmsVector and Free Store
Vectors and Arrays
Vector, Templates, and Exceptions
Containers and Iterators
Algorithms and Maps
Broadening the ViewIdeals and History
Text Manipulation
Numerics
Embedded Systems Programming
Testing
The C Programming Language
AppendicesLanguage Summary
Standard Library Summary
Getting Started with Visual Studio
Installing FLTK
GUI Implementation