allocator::rebind

使一类型的对象分配一种程序分配另一类型的对象存储的结构。

template<class _Other> 
   struct rebind { 
   typedef allocator<_Other> other; 
   };

参数

  • 其他
    内存分配的元素类型。

备注

此结构提供分配与不同实现的容器元素类型类型的内存是有用的。

成员模板类定义的其他类型。 其唯一目的就是提供一类型名称 allocator<_其他>,将类型名称 allocator<类型>。

例如假设分配器对象类型为 Aal,可以将 _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);
}

要求

页眉: <内存>

命名空间: std

请参见

参考

allocator 类