取消引用共享指针并分配给它



是否可以取消引用共享指针,为其分配并分配一个新对象,如下所示:

void foo()
{
std::shared_ptr<std::string> x =
std::make_shared<std::string>();
bar(*x); // is this fine?
// x == bsl::string("WHATEVER")
}
void bar(string& y)
{
y = string("whatever");
}

是的,这是有效的。运算符*返回取消引用存储的(原始(指针的结果。

取消引用(原始(指针不会复制或返回临时指针:通过引用传递时取消引用指针

相关内容

  • 没有找到相关文章

最新更新