> If you are concerned with efficiency (I am) add one precomputed M-length
> vector of pointers (at timeof construction) to avoid any runtime overhead.
Wouldn't the extra memory access take far longer than a multiply?
Especially since the array pointer and N would be adjacent in memory
(since they are in the same object) while the vector of pointers would be
dynamically allocated?
-Jim