rebind是一种笨重的 C++11 之前的方法,用于获取 的分配器类型T并将其转换为 的分配器类型U。我说“C++11 之前”是因为 C++11 为我们提供了一种更方便的方法:模板别名。
allocator_traitstemplate 有一个成员模板别名rebind<U>,用于计算Allocator<U>它所属的分配器。rebind如果分配器的成员可用,它可以使用它,否则,它只会产生Allocator<U>。
allocator_traits有效地定义了许多std::allocator过去提供的功能。这使得许多成员变得std::allocator多余,因此它们已被弃用并删除,取而代之的是traits基于 - 的默认值。
| 归档时间: |
|
| 查看次数: |
897 次 |
| 最近记录: |