我在某处找到了这段代码:
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
ness
shared_ptr<const Foo> ptr
与 const Foo * ptr
类似。所以它是一个指向const Foo
的指针。
它创建了一个共享的
const Foo
- 也就是说,const
有其常规含义。
std::shared_ptr<const T>
允许您从内存中的指向地址读取。