【发布时间】:2013-01-03 23:07:35
【问题描述】:
为了进一步了解标准库的实际实现方式,我正在检查 Visual Studio 中的所有容器。这里我看到了一些奇怪的结构:
在std::list<>的某个基类中找到以下typedef
typedef typename _Alloc::template rebind<_Ty>::other _Alty;
其中“_Alloc”对应于分配器模板参数(和 _Ty 包含的类型)。我很难找到这个“关键字”的好解释。到目前为止我发现的最好的事情是它是分配器接口的一部分。虽然即使cppreference 也不能很好地解释这一点。
template rebind<> 有什么作用?为什么在那个位置有必要?
【问题讨论】:
标签: c++ visual-studio stl