2016-07-23 7 views
0

Ich bemerkte, STL-Container (einschließlich vector, list, etc.) haben eine difference_type typedef, die in der Regel ein Alias ​​für std::ptrdiff_t ist.STL-Container 'difference_type typedef

Wofür wird es verwendet? Es wird von allen Mitgliedsfunktionen verwendet?

Antwort

1

Es wird verwendet, um den Unterschied zwischen Iteratoren zu berechnen. Zum Beispiel cont.end() - cont.begin(). Es wird nicht direkt von STL-Container verwendet, sondern wird häufig von Iterator-Bibliothek verwendet. Beispiel:

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