使用存储的shared_ptr <t>中的shared_ptr <const t =“”>

时间:2016-07-30 15:44:52

标签: c++

我使用std::shared_ptr<T>存储了一些数据。

现在我想用它作为函数的const输入,所以我需要一个std::shared_ptr<const T>。我该怎么做?

我可以将std::shared_ptr<T>对象传递给期望std::shared_ptr<const T>的函数吗?

1 个答案:

答案 0 :(得分:3)

<强> Yes

#include <memory>

void foo(std::shared_ptr<const int> ptr) {}

int main()
{
    auto ptr = std::make_shared<int>();
    foo(ptr);
}

你为什么不试试呢?