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

Understanding C++ make shared pointer with const arguments

本文关键字:创建 共享 指针 参数 const c++ 理解      更新时间:2023-10-16

我在某处发现了这段代码:

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> ptrconst Foo * ptr相似。它是指向const Foo

的指针