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

这有什么用途?任何成员函数都使用它吗?

最佳答案

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

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

关于c++ - STL容器的difference_type typedef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38540198/

10-10 14:48