
Andrew Sutton wrote:
Not really "internal", just pointer-like. Typically they're used for iterating -- you can tell by the name :) but they're also used in pointer-like ways. Look at the STL list interfaces, especially insert() and erase().
Okay, so once again, focusing on studying for my exam tonight right now, but just doing a bit of research to get the gears turning in the background. Standard iterator functionality requires '++', '--', '==', 'begin()', and 'end()', correct? Did I miss anything? Other than that, I'm still a confused about the behavior of iterators within partially ordered data structures. It's one thing to have a pointer abstraction, but traversal seems to be an issue. In particular, if any changes to the structure are made during the traversal, the structure could re-arrange itself in such a way that individual nodes could be traversed multiple times before others are visited once, without any changes to the node value itself. This seems like poor behavior to me, and I'm not sure what to do with it. Perhaps someone could shed some light on the issue?
Don't feel too bad about being distracted. I've been at a postdoc interview for the last 2 days. Imagine how I feel :)
Oh man. I don't even want to think about that. D: Dan Larkin