Aracılığıyla paylaş


map::get_allocator

Harita oluşturmak için kullanılan ayırıcı nesnenin bir kopyasını döndürür.

allocator_type get_allocator( ) const;

Dönüş Değeri

Eşleme tarafından kullanılan ayırıcı.

Notlar

Ayırıcılarına haritası sınıfı için sınıf Depolama Birimi'nin nasıl yönettiğini belirtin. stl kapsayıcı sınıfları ile sağlanan varsayılan ayırıcılarına çoğu programlama ihtiyacı için yeterli olur. Yazma ve kendi ayırıcısı sınıfını kullanarak bir Gelişmiş C++ konudur.

Örnek

// map_get_allocator.cpp
// compile with: /EHsc
#include <map>
#include <iostream>

int main( )
{
   using namespace std;
   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 allocated\n"
        << "before free memory is exhausted: "
        << m2.max_size( ) << ".\n" << endl;

   cout << "The number of doubles that can be allocated\n"
        << "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;
   }
}

Örnek Çıktı

X 86 için aşağıdaki çıktıdır.

The number of integers that can be allocated
before free memory is exhausted: 536870911.

The number of doubles that can be allocated
before free memory is exhausted: 268435455.

The allocators are interchangeable.

Gereksinimler

Başlık: <map>

Namespace: std

Ayrıca bkz.

Başvuru

map Class

Standart Şablon Kütüphanesi