次のようなC ++の共有ポインターのアクセサーメソッドを書いています。
class Foo {
public:
return_type getBar() const {
return m_bar;
}
private:
boost::shared_ptr<Bar> m_bar;
}
したがってgetBar()、戻り値の型のconst-nessをサポートするためにboost::shared_ptrは、Barそれが指す変更を防ぐ必要があります。私の推測では、それshared_ptr<const Bar>は私が戻りたいタイプですconst shared_ptr<Bar>が、ポインタ自体が別のものを指すように再割り当てすることはできませんが、それが指すBarものの変更は許可さBarれます...しかし、私にはわかりません。確実に知っている人がこれを確認するか、間違った場合は修正していただければ幸いです。ありがとう!
const通常、_preceedの内容を変更するためT *const、へのconstポインタTでありT const*、へのポインタconst Tです。また、そのconst前に何も付けずに使用しないことをお勧めします。
T *constとはT const *違いと同じである const shared_ptr<T>とshared_ptr<const T>
*し、->これを確認します。