C++:std :: shared_ptr <T>和std :: shared_ptr <T const>有什么区别?

kmc*_*coy 0 c++ shared-ptr

std::shared_ptr<T>和之间有什么区别std::shared_ptr<T const>

什么时候你会使用一个与另一个?

Dav*_*vid 10

  • shared_ptr<int>是一个shared_ptr非常数int.你可以修改int和shared_ptr

  • shared_ptr<const int>是一个shared_ptr到一个const int.你不能修改const intshared_ptr点,因为它是const.但是你可以修改它shared_ptr自己(赋值给它,调用其他非const方法等)

  • const shared_ptr<int>是一个const shared_ptr非常数int.你不能修改shared_ptr(通过调用reset或任何非const方法),但你可以修改int它指向

  • const shared_ptr<const int>是一个const shared_ptr到一个const int.你不能修改杰克.