理解 C++ 使用 const 参数创建共享指针

Understanding C++ make shared pointer with const arguments

我在某处找到了这段代码:

boost::shared_ptr<const Foo> pFoo = boost::make_shared<const Foo>();

此处 const 关键字的目的是什么?

它创建了一个共享的 const Foo - 也就是说,const 具有其常规含义。

shared_ptr<const Foo> ptr 类似于 const Foo * ptr。所以它是指向 const Foo

的指针

std::shared_ptr \< const T> 允许您只从内存中的指向地址读取

它非常简单,它真的只是一个指向 const Foo 的指针。目前的代码是:

boost::shared_ptr<const Foo> pFoo = boost::make_shared<const Foo>();

基本相当于

const Foo * pFoo

这里const的意思和const指针一样是正则的 这样做的好处是指针是只读的,因为constness