STL容器' difference_type typedef

时间:2016-07-23 09:26:43

标签: c++ stl

我注意到STL容器(包括vectorlist等)有difference_type typedef,通常是std::ptrdiff_t的别名。

它用于什么?它被任何成员函数使用?

1 个答案:

答案 0 :(得分:1)

它用于计算迭代器之间的差异。 例如cont.end() - cont.begin(). 它不是由stl容器直接使用,而是由迭代器库广泛使用。 例如:

template< class InputIt >
typename std::iterator_traits<InputIt>::difference_type 
    distance( InputIt first, InputIt last );