STL containers' difference_type typedef

STL containers' difference_type typedef

本文关键字:type typedef difference containers STL      更新时间:2023-10-16

我注意到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 );