C ++ std :: unique_ptr retourne de la fonction et teste null

J'ai une fonction qui doit retourner un pointeur vers un objet de la classe myClass. Pour cela jutilise std::unique_ptr.

Si la fonction réussit, il doit retourner un pointeur vers un objet avec les données. Si il échoue, il doit retourner null.

C'est mon code skelepton:

std::unique_ptr<myClass> getData()
{
   if (dataExists)
      ... create a new myClass object, populate and return it ...

   //No data found
   return std::unique_ptr<myClass> (null); <--- Possible ?
}

sur main:

main()
{
   std::unique_ptr<myClass> returnedData;

   returnedData = getData();

   if (returnedData != null)   <-- How to test for null ?
   {
      cout << "No data returned." << endl;
      return 0;
   }

   //Process data
}

Donc voilà mes questions:

un) Est que (de retour d'un objet ou d' null) possible, pour être fait à l'aide de std::unique_ptr ?

b) Si possible, comment mettre en œuvre ?

c) Si pas possible, quelles sont les alternatives ?

Merci pour votre aide.

source d'informationauteur Mendes | 2015-05-17