allocator::rebind
할당 자가 한 형식의 개체를 다른 형식의 개체에 대 한 저장소를 할당할 수 있도록 하는 구조입니다.
template<class _Other>
struct rebind {
typedef allocator<_Other> other;
};
매개 변수
- 기타
형식에 대 한 메모리 할당 되는 요소입니다.
설명
이 구조체가 구현 하는 컨테이너의 요소 형식에서 다른 형식에 대 한 메모리를 할당할 때 유용 합니다.
다른 형식의 멤버 템플릿 클래스를 정의합니다.형식 이름을 제공 하기 위해서입니다 할당자< _기타>, 지정 된 형식 이름 할당자<형식>.
할당자 객체를 예를 들어, 주어진 al 형식의 A, 형식의 개체로 할당할 수 _Other 식:
A::rebind<Other>::other(al).allocate(1, (Other *)0)
또는 형식을 작성 하 여 해당 포인터 형식 이름을 지정할 수 있습니다.
A::rebind<Other>::other::pointer
예제
// 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);
}
요구 사항
헤더: <memory>
네임 스페이스: std