Thursday, July 22, 2010

The advance() Function Template

The advance() function template, which is declared in the <iterator> header file has constant complexity for random access iterators, and linear complexity for all other iterators.

This is because advance() typically uses += for random access iterators, and a loop of ++ for the other iterators.

Reference: The C++ Standard Library: A Tutorial and Reference Nicolai M. Josuttis. Addison-Wesley, 1999, p. 259-260.

No comments:

Post a Comment