CHAPTER9-37.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
- //文件名:CHAPTER9-37.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
- void main( )
- {
- set <int>::allocator_type s1_Alloc;
- set <int>::allocator_type s2_Alloc;
- set <double>::allocator_type s3_Alloc;
- set <int>::allocator_type s4_Alloc;
- // The following lines declare objectsthat use the default allocator.
- set <int> s1;
- set <int, allocator<int> > s2;
- set <double, allocator<double> > s3;
- s1_Alloc = s1.get_allocator( );
- s2_Alloc = s2.get_allocator( );
- s3_Alloc = s3.get_allocator( );
- cout << "The number of integers that can be allocated"
- << endl << "before free memory is exhausted: "<< s2.max_size( ) << "." << endl;
- cout << "nThe number of doubles that can be allocated"
- << endl << "before free memory is exhausted: "<< s3.max_size( ) << "." << endl;
- // The following line creates a set s4 with the allocator of multiset s1.
- set <int> s4( less<int>( ), s1_Alloc );
- s4_Alloc = s4.get_allocator( );
- // Two allocators are interchangeable ifstorage allocated from each can be
- // deallocated by the other
- if( s1_Alloc == s4_Alloc )
- {
- cout << "nThe allocators are interchangeable." << endl;
- }
- else
- {
- cout << "nThe allocators are not interchangeable." << endl;
- }
- }