在C++中,如果我从一个函数返回一个共享/唯一的ptr,它是否按值返回?即返回一个共享指针
shared_ptr<CLASS> function_f(){
auto p = make_shared<CLASS>(5);
return p;
}
那么会发生什么?指针是否被动态分配?如果我返回这个,我有两个指针指向相同的东西吗?
在C++中,如果我从一个函数返回一个共享/唯一的ptr,它是否按值返回?即返回一个共享指针
shared_ptr<CLASS> function_f(){
auto p = make_shared<CLASS>(5);
return p;
}
那么会发生什么?指针是否被动态分配?如果我返回这个,我有两个指针指向相同的东西吗?
您定义它的方式,'p'不是一个指针。 – ifconfig
'std :: shared_ptr'*** object ***是通过值返回的。 –