More arcane knowledge that I've never used, but find useful: C defines an offsetof() macro, used to find the offset in bytes of a member within a struct or union. Modern compilers have a built-in function to do this, with the macro pointing there, to avoid the traditional macro:
#define offsetof(st, m) ((size_t)(&((st *)0)->m))
I had assumed simpler code for access -> faster access; this is one of the many things I learned in java that I am relearning/refreshing for C++.
Summary: using iterators is faster than any other method of access (that I know of).
Reference