User-Defined Generic Functions
The STL is an extensible framework. This means you can write your own
functions and algorithms to process elements of collections. Of course, these
operations may also be generic. However, to declare a valid iterator in these
operations, you must use the type of the container, which is different for each
container type. To facilitate the writing of generic functions, each container
type provides some internal type definitions. Consider the following
example:
This example defines a generic function that prints an optional string followed by all elements of the passed container. In the declaration
pos is declared as having the iterator type of the
passed container type, typename is necessary to specify
that const_iterator is a type and not a value of type
T. In addition to iterator and const_iterator, containers provide other types to facilitate
the writing of generic functions. For example, they provide the type of the
elements to enable the handling of temporary copies of elements.
The optional second argument of PRINT_ELEMENTS is a
string that is used as a prefix before all elements are written. Thus, by using
PRINT_ELEMENTS() you could comment or introduce the
output like this:
We introduced this function here because we will be using it often in the rest of the
coming post to print all elements of containers by using a simple call.
-----------------------------------------------------------------
See Also:
-----------------------------------------------------------------
See Also:
-----------------------------------------------------------------
- Complete Tutorial of C++ Template's
- Standard Template Library Tutorial
- Inter Process Communication Tutorial
- Advance Programming in C & C++
-----------------------------------------------------------------
No comments:
Post a Comment