CHAPTER10-39.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
- //文件名:CHAPTER10-39.cpp
- #include <map>
- #include <iostream>
- #if _MSC_VER > 1020 // if VC++ version is > 4.2
- using namespace std; // std c++ libs implemented in std
- #endif
- void main( )
- {
- map <int, int>::allocator_type m1_Alloc;
- map <int, int>::allocator_type m2_Alloc;
- map <int, double>::allocator_type m3_Alloc;
- map <int, int>::allocator_type m4_Alloc;
- // The following lines declare objects that use the default allocator.
- map <int, int> m1;
- map <int, int, allocator<int> > m2;
- map <int, double, allocator<double> > m3;
- m1_Alloc = m1.get_allocator( );
- m2_Alloc = m2.get_allocator( );
- m3_Alloc = m3.get_allocator( );
- cout << "The number of integers that can be allocatedn"
- << "before free memory is exhausted: "<< m2.max_size( ) << ".n" << endl;
- cout << "The number of doubles that can be allocatedn"
- << "before free memory is exhausted: "<< m3.max_size( ) << ".n" << endl;
- // The following line creates a map m4 with the allocator of map m1.
- map <int, int> m4( less<int>( ), m1_Alloc );
- m4_Alloc = m4.get_allocator( );
- // Two allocators are interchangeable if storage allocated from
- //each can be deallocated with the other
- if( m1_Alloc == m4_Alloc )
- { cout << "The allocators are interchangeable." << endl; }
- else
- { cout << "The allocators are not interchangeable." << endl; }
- }