|
Boost Users : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2004-06-15 07:40:19
Bo Peng wrote:
> Bo Peng wrote:
>
> I read /usr/include/c++/3.2.2/bits/stl_vector.h, here is the answer to
> my own questions:
>
>> 1. How is size() implemented in vector<>?
>
> end - start pointer. Not a reference to a variable. Too bad.
You aren't exactly required to call size() every iteration, you know.
for( int i = 0, n = v.size(); i < n; ++i )
will work fine (or 'size_t i ...' if you like unsigned). Otherwise the
optimizer would need to prove that v.size() is invariant. The idiomatic
approach is to use iterators, of course, but compilers didn't seem to
vectorize iterator-based loops last time I tried.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net