
16 Apr
2012
16 Apr
'12
7:06 p.m.
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".>>