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