在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 ***是通過值返回的。 –