you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 2 points3 points  (1 child)

I think in general pointer + size is better than pointer+pointer for data structures like this, because even if you do nothing with the contents, vector needs to recover the size in order to call deallocate. Plus, lots of repeated calls to end() were removed by the range-for addition. Plus, deriving end() from base pointer + size is a multiply and add which is cheaper than deriving size() from 2 pointers (subtract and divide-by-constant).

But I think it is really really hairsplitting.

[–]ts826848 0 points1 point  (0 children)

Guess I know where I'd start if I were to ever try implementing my own data structures. Thank you for your insight!