3 ms·
You wouldn't want to use iterators to compute the length of a collection, even in a language where they're fast. That turns a constant-time operation into a lin
by brundolf 6y ago
You wouldn't want to use iterators to compute the length of a collection, even in a language where they're fast. That turns a constant-time operation into a linear-time operation
- patrec 6y agoNot true, with two random access iterators in C++ for example you can compute the distance between them, and thus the the length of an array (e.g. a.end() - a.begin()) and it will be constant time.
- brundolf 6y agoI guess I'm not familiar enough with C++'s iterators. In most languages I'm familiar with, an iterator is an abstract concept that only knows how to get the next item and (sometimes) tell whether or not it's finished.