Sunday, April 8, 2012

An Overview Of The C++ Programming Langauge (from the Handbook of Object Technology)

he C++ programming language provides a model of memory and computation that closely matches that of
most computers. In addition, it provides powerful and flexible mechanisms for abstraction; that is, language
constructs that allow the programmer to introduce and use new types of objects that match the concepts
of an application. Thus, C++ supports styles of programming that rely on fairly direct manipulation
of hardware resources to deliver a high degree of efficiency plus higher-level styles of programming that
rely on user-defined types to provide a model of data and computation that is closer to a human’s view of
the task being performed by a computer. These higher-level styles of programming are often called data
abstraction, object-oriented programming, and generic programming.

This paper is organized around the main programming styles directly supported by C++:

§2 The Design and Evolution of C++ describes the aims of C++ and the principles that guided its evolution.
§3 The C Programming Model presents the C subset of C++ and other C++ facilities supporting traditional systems-programming styles.
§4 The C++ Abstraction Mechanisms introduces C++’s class concept and its use for defining new types
that can be used exactly as built-in types, shows how abstract classes can be used to provide interfaces
to objects of a variety of types, describes the use of class hierarchies in object-oriented programming,
and presents templates in support of generic programming.
§5 Large-Scale Programming describes namespaces and exception handling provided to ease the composition of programs out of separate parts.
§6 The C++ Standard Library presents standard facilities such as I/O streams, strings, containers (e.g.
v e c t o r , l i s t , and m a p ), generic algorithms (e.g. s o r t (), f i n d (), f o r _ e a c h ()) and support for numeric computation.
To round off, a brief overview of some of the tasks that C++ has been used for and some suggestions for
further reading are given.

 

0 comments:

Post a Comment