gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 03:22:29 24 4
gpt4 key购买 nike

像这样取消引用共享指针、分配和分配一个新对象是否可以:

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");
}

最佳答案

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

取消引用(原始)指针不会创建拷贝或返回临时指针:dereferencing a pointer when passing by reference

关于c++ - 取消引用共享指针并分配给它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51093546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com