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

问题描述 投票:0回答:4

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

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

这里

const
关键字的目的是什么?

c++ c++11 boost smart-pointers
4个回答
5
投票

非常简单,它实际上只是一个指向

const
Foo 的指针。目前的代码是:

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

基本相当于

const Foo * pFoo

这里

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


3
投票

shared_ptr<const Foo> ptr
const Foo * ptr
类似。所以它是一个指向
const Foo
的指针。


2
投票

它创建了一个共享的

const Foo
- 也就是说,
const
有其常规含义。


2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.