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 prvku, pro které je přidělená paměť.

Poznámky

Tato struktura je užitečné pro přidělování paměti pro typ, který se liší od typu prvku kontejneru implementovány.

Šablona třídy členské definuje typ ostatní.Jejich jediným účelem je poskytnout název typu přidělování< _ostatní>, zadejte název přidělování<typu>.

Například mít objekt přidělování al typu a, můžete přidělit objekt typu _Other výrazem:

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

Nebo můžete pojmenovat jeho typ ukazatele 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í: <memory>

Obor názvů: std

Viz také

Referenční dokumentace

allocator Class