Sdílet prostřednictvím


allocator::rebind

Struktura, která umožňuje přidělování pro objekty typu k přidělení úložiště pro objekty jiného typu.

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

Parametry

  • ostatní
    Typ prvek, pro který je přidělené paměti.

Poznámky

Tato struktura je užitečné při přidělování paměti pro typ, který se liší od typu elementu kontejneru prováděna.

Člen šablony třídy definuje typ ostatní.Jejím jediným účelem je poskytnout název typu přidělování<_jiné>, název typu přidělování<typu>.

Například mít objekt Alokátor al typu A, může alokovat objekt typu _Other s výrazem:

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

Nebo jeho typ ukazatele můžete pojmenovat pomocí zápisu typu:

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

Příklad

// 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);
}

Požadavky

Záhlaví: <paměť>

Obor názvů: std

Viz také

Referenční dokumentace

allocator – třída