CHAPTER9-38.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
- //文件名:CHAPTER9-38.cpp
- #include <set>
- #include <iostream>
- #if _MSC_VER > 1020 // if VC++ version is > 4.2
- using namespace std; // std c++ libs implemented in std
- #endif
- int main( )
- {
- multiset <int>::allocator_type ms1_Alloc;
- multiset <int>::allocator_type ms2_Alloc;
- multiset <double>::allocator_type ms3_Alloc;
- multiset <int>::allocator_type ms4_Alloc;
- // The following lines declare objects that use the default allocator.
- multiset <int> ms1;
- multiset <int, allocator<int> > ms2;
- multiset <double, allocator<double> > ms3;
- cout << "The number of integers that can be allocated"
- << endl << "before free memory is exhausted: "<< ms2.max_size( ) << "." << endl;
- cout << "The number of doubles that can be allocated"
- << endl << "before free memory is exhausted: "<< ms3.max_size( ) << "." << endl;
- // The following lines create a multiset ms4 with the allocator of multiset ms1
- ms1_Alloc = ms1.get_allocator( );
- multiset <int> ms4( less<int>( ), ms1_Alloc );
- ms4_Alloc = ms4.get_allocator( );
- // Two allocators are interchangeable if storage allocated from each can be
- // deallocated with the other
- if( ms1_Alloc == ms4_Alloc )
- {
- cout << "Allocators are interchangeable." << endl;
- }
- else
- {
- cout << "Allocators are not interchangeable." << endl;
- }
- }