Today's C + + is already a multi-paradigm programming language (MULTIPARADIGM programming language), a
Process form (procedural), object-oriented (object-oriented), function form (functional),
The language of the generic form (generic), meta-programming form (metaprogramming).
The simplest approach is to treat C + + as a federation of related sub-languages (sublanguage) rather than a single
Language. Fortunately, there are a total of four sub-languages:
c.
object-oriented C + +. Includes: Class (including constructors and destructors), Encapsulation (encapsulation),
Inheritance (inheritance), polymorphism (polymorphism), virtual function (dynamic binding) 、... ... Wait a minute.
template C + +. This is the generic programming (generic programming) part of C + +.
STL. STL is a template library, but it is a very special one. It is to the container (containers),
The protocols for iterators (iterators), Algorithms (algorithms), and Function objects (functions objects) have a very
The templates and the library can be built with other ideas.