| User-Defined Allocator | 
The C++ Standard Template Library STL as part of the C++ Standard Library allows to use allocators as abstractions of the memory model. Allocators are used to translate the need to use memory into a raw call for memory. This page gives an example of a standard conforming user-defined allocator and its usage.
The example defines an allocator, called MyAlloc<> in myalloc.hpp. This allocator uses the global operators new and delete to allocate and deallocate memory. As a special feature, it prints messages on the standard error channel cerr whenever memory is allocated or deallocated.
myalloc.hpp:
Example for using MyAlloc<>:
This code, at least, compiles with gcc-2.95.2 and libstdc++, version 2.90.7.
To find more details about allocators 
  in general and user-defined allocators, see 
       The 
  C++ Standard Library - A Tutorial and Reference 
       by Nicolai 
  M. Josuttis 
       Addison Wesley Longman, 1999 
       ISBN 0-201-37926-0