chapter9-38.cpp

来自「C++STL程序员开发指南」· C++ 代码 · 共 36 行

CPP
36
字号
//文件名: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;   
   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?