allocator::rebind
Struktura umożliwiająca programu przydzielania dla obiektów typu przydzielić magazynu 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 do przydzielania pamięci dla typu, który różni się od typu element kontenera realizowane.
Klasa szablonu Członkowskie definiuje typ innych.Jedynym celem jest zapewnienie nazwy typu przydzielania< _innych>, podana nazwa typu przydzielania<typu>.
Na przykład podany obiekt przydzielania al typu a, można przydzielić obiektu typu _Other z wyrażeniem:
A::rebind<Other>::other(al).allocate(1, (Other *)0)
Lub typ zapisu nazwę typu wskaźnik:
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: <memory>
Obszar nazw: std