mon*_*res 9 c++ memory-management stl visual-c++
解除引用临时std :: shared_ptr是否安全?
例:
std::shared_ptr<std::string> create_shared_string()
{
return std::shared_ptr<std::string>(new std::string("hello"));
}
std::cout << *create_shared_str() << std::endl;
Run Code Online (Sandbox Code Playgroud)
我担心,一旦取消引用完成,shared_ptr就会被销毁,引用计数器会变为零,因此返回的原始指针不再安全.
在这种情况下,返回的std::shared_ptr内容在std::cout << std::endl;完成之前不会被破坏,因此您可以安全地取消引用它.
| 归档时间: |
|
| 查看次数: |
2333 次 |
| 最近记录: |