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

时间:2015-07-18 18:34:02

标签: stl

我的问题基于以下链接:

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

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

我在很多教科书中都搜索过这个,但没有人以明确的方式定义和解释。

请问,有人可以借助示例或明确的链接来解释它吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

例如,value_type对应于向量可以容纳的元素的类型。因此std::vector<int>::value_typeintstd::vector<float>::value_typefloat

当容器的类型本身未知时,将常用类型作为容器上的类型可用是很有用的。例如,某人可能希望编写与std::mapstd::unordered_map同样有效的库代码:

template<typename TMap>
void insert_default_pair(TMap& map)
{
    map.emplace(typename TMap::key_type(), typename TMap::mapped_type());
}
相关问题