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