CHAPTER10-40.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
- //文件名:CHAPTER10-40.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
- int main( )
- {
- multimap <int, int>::allocator_type m1_Alloc;
- multimap <int, int>::allocator_type m2_Alloc;
- multimap <int, double>::allocator_type m3_Alloc;
- multimap <int, int>::allocator_type m4_Alloc;
- // The following lines declare objects that use the default allocator.
- multimap <int, int> m1;
- multimap <int, int, allocator<int> > m2;
- multimap <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 allocated"<< endl
- << "before free memory is exhausted: "<< m2.max_size( ) << ".n" << endl;
- cout << "The number of doubles that can be allocated"<< endl
- << "before free memory is exhausted: " << m3.max_size( ) << ".n" << endl;
- // The following line creates a multimap m4 with the allocator of multimap 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 via the other
- if( m1_Alloc == m4_Alloc )
- { cout << "The allocators are interchangeable."<< endl; }
- else
- { cout << "The allocators are not interchangeable." << endl; }
- }