我注意到STL容器(包括vector
,list
等)有difference_type
typedef,通常是std::ptrdiff_t
的别名。
它用于什么?它被任何成员函数使用?
答案 0 :(得分:1)
它用于计算迭代器之间的差异。
例如cont.end() - cont.begin().
它不是由stl容器直接使用,而是由迭代器库广泛使用。
例如:
template< class InputIt >
typename std::iterator_traits<InputIt>::difference_type
distance( InputIt first, InputIt last );