Boost logo

Boost Users :

From: chun ping wang (cablepuff_at_[hidden])
Date: 2007-10-25 18:01:13


hmm the thing is it compares all the array. And len might not be the actual
size of the array.

Example you cna have array X.
x[0] = 25
x[1] = 12
x[2] = null
x[3] = null

On 10/25/07, Michael Linck <mgl_at_[hidden]> wrote:
>
> The boost documentation states that the == operator "Compares the stored
> pointers of the two smart pointers." The phrase "smart pointers" refers
> to the shared arrays themselves, because that's really all a shared
> array *is.* So the operation described above is actually equivalent to
> what you outlined in item 2. of answering your own question.
>
> mike
>
> On Thu, 2007-10-25 at 11:22 -0700, chun ping wang wrote:
> > Hi I notice boost shared_array compares the pointer address not the
> > pointer themselves. What would be the best way to compare the actual
> > value of boost shared_array.
> >
> > 1.)
> > shared_array<T> a;
> > shared_array<T> b;
> >
> >
> > 1.) return (a.len == b.len && (memcmp(a, b, len) == 0));
> >
> > or
> >
> > 2.)
> > if (a.len != b.len)
> > return false;
> > for (ptrdiff_t i = 0; i != a.len; ++i)
> > if(a[i] != b[i])
> > return false;
> >
> > One that works ALL the times.
> >
> > _______________________________________________
> > Boost-users mailing list
> > Boost-users_at_[hidden]
> > http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



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