Le code suivant signifie-t-il que lorsque cette fonction est renvoyée, l'objet de requête dans cette classe contient toujours une référence à cet objet?Nombre de références lors du renvoi d'un shared_ptr
boost::shared_ptr<Request> RequestList::GetRequest()
{
boost::mutex::scoped_lock(listmtx);
request = boost::shared_ptr<Request>(new Request());
return request;
}
utilisé:
request = requests->GetRequest(); //Ref count is two on request object when it returns??
même après avoir terminé au-dessus de la cession, nous avons encore un compte de référence de deux sur request
...
où les demandes est juste un pointeur RequestList (pointeur brut) ...
Où est 'request' déclarée? Est-ce censé être local dans 'GetRequest' ou existe-t-il ailleurs? Cela fait beaucoup de différence ... – Potatoswatter
demande est une variable de classe privée ... –