理解c++用const参数创建共享指针
Understanding C++ make shared pointer with const arguments
我在某处发现了这段代码:
boost::shared_ptr<const Foo> pFoo = boost::make_shared<const Foo>();
这里const
关键字的目的是什么?
这很简单,它真的只是一个指向const
Foo的指针。当前的代码是:
boost::shared_ptr<const Foo> pFoo = boost::make_shared<const Foo>();
是
的基本等价物const Foo * pFoo
此处const
的含义与const
指针一样规则这样做的好处是指针是只读的,因为const
是
它创建了一个共享的const Foo
——也就是说,const
具有其常规含义。
shared_ptr<const Foo> ptr
与const Foo * ptr
相似。它是指向const Foo
std::shared_ptr