Udostępnij za pośrednictwem


allocator::rebind

Struktura, która umożliwia program przydzielania dla obiektów określonego typu, przydzielić pamięci masowej dla obiektów innego typu.

template<class _Other> 
   struct rebind { 
   typedef allocator<_Other> other; 
   };

Parametry

  • inne
    Typ elementu, dla którego przydzielenia pamięci.

Uwagi

Ta struktura jest przydatne w przypadku przydzielania pamięci dla typu, który różni się od typu elementu kontenera realizowany.

Członek szablonu klasy definiuje typ innych.Jej celem jest zapewnienie nazwy typu programu przydzielania<_innych>, biorąc pod uwagę nazwę typu programu przydzielania<typu>.

Na przykład, biorąc pod uwagę obiektu programu przydzielania al typu A, można przydzielić obiektu typu _Other z wyrażeniem:

A::rebind<Other>::other(al).allocate(1, (Other *)0)

Lub jego typ wskaźnika można nazwać pisząc typu:

A::rebind<Other>::other::pointer

Przykład

// allocator_rebind.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

typedef vector<int>::allocator_type IntAlloc;
int main( ) 
{
   IntAlloc v1Iter;
   vector<int> v1;

   IntAlloc::rebind<char>::other::pointer pszC =
      IntAlloc::rebind<char>::other(v1.get_allocator()).allocate(1, (void *)0);

   int * pInt = v1Iter.allocate(10);
}

Wymagania

Nagłówek: <pamięć>

Przestrzeń nazw: std

Zobacz też

Informacje

allocator — Klasa