Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
C++ is a superset of the C programming language. C itself is a descendant of several generations of early languages; it was created and implemented with conflicting goals in mind. This is why C++ contains features that are inconsistent and sometimes irritating. In this section, I will briefly review the major characteristics of C and then will show how C++ uses this "inheritance" to achieve its goals.
The first goal of C was to give software developers a performance-oriented systems programming language. This is why C and C++ do not support run-time checking for errors that could cause incorrect program behavior but could be found by the programmer during testing. This is why C and C++ contain low-level operators that emulate assembly language instructions and allow the programmer to control computer's resources, such as registers, ports, and flag masks.