다음을 통해 공유


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

참고 항목

참조

allocator Class