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

时间:2016-09-01 14:00:08

标签: c++ c++11 boost smart-pointers

我找到了这段代码:

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

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

4 个答案:

答案 0 :(得分:3)

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

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

基本相当于

const Foo * pFoo

此处const的含义与const指针一样是常规的 这样做的好处是指针是只读的,因为const ness

答案 1 :(得分:2)

它会创建一个共享的const Foo - 即const具有常规含义。

答案 2 :(得分:2)

shared_ptr<const Foo> ptrconst Foo * ptr类似。所以这是指向const Foo的指针

答案 3 :(得分:2)

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