Boost logo

Boost Users :

Subject: Re: [Boost-users] shared_ptr and container iterators
From: Igor R (boost.lists_at_[hidden])
Date: 2012-04-16 15:06:04


> just started playing with boost::shared_ptr.
> How do I get a const iterator pointing to a shared_ptr pointing to a
> const object? See code below, I'd like to prevent a MyItem being changed
> through const iterators.

IIUC, the following answers your question:
http://www.boost.org/doc/libs/1_49_0/libs/smart_ptr/shared_ptr.htm#FAQ
<<Q. Why is operator->() const, but its return value is a non-const
pointer to the element type?
A. Shallow copy pointers, including raw pointers, typically don't
propagate constness. It makes little sense for them to do so, as you
can always obtain a non-const pointer from a const one and then
proceed to modify the object through it.shared_ptr is "as close to raw
pointers as possible but no closer".>>


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