stl容器中成员类型的含义是什么?

what is meaning of member types in stl container?

我的问题基于以下 link:

http://www.cplusplus.com/reference/vector/vector/

成员类型(value_typeallocator_type 等)的实际含义是什么?

这个我在很多教科书上都找过,但是没有一个明确的定义和解释。

拜托,任何人都可以通过示例或清晰的方式解释一下吗link? 提前致谢。

它们 typedef 是模板化容器正在使用的相应类型。

例如value_type对应的是vector所能容纳的元素类型。所以 std::vector<int>::value_type 将是 int,而 std::vector<float>::value_type 将是 float

当容器的类型本身未知时,将常用类型用作容器上的类型非常有用。例如,有人可能想要编写与 std::mapstd::unordered_map:

同样有效的库代码
template<typename TMap>
void insert_default_pair(TMap& map)
{
    map.emplace(typename TMap::key_type(), typename TMap::mapped_type());
}