Reveniți de la funcțiile de void în C ++

Funcțiile nule sunt cunoscute ca Funcții de întoarcere ne-valoare . Sunt „nule” datorită faptului că nu trebuie să returneze valori. Adevărat, dar nu complet. Nu putem returna valorile, dar există ceva cu care putem reveni cu siguranță din funcțiile void. Funcțiile void nu au un tip de retur, dar pot face valori de returnare. Unele dintre cazuri sunt enumerate mai jos:
 
1) O funcție de nule poate returna: Putem scrie pur și simplu o declarație de returnare într -o distracție void (). De fapt, este considerat o bună practică (pentru lizibilitatea codului) să scrie o returnare; declarație pentru a indica sfârșitul funcției. 

CPP
   // CPP Program to demonstrate void functions   #include          using     namespace     std  ;   void     fun  ()   {      cout      < <     'Hello'  ;      // We can write return in void      return  ;   }   // Driver Code   int     main  ()   {      fun  ();      return     0  ;   }   

Ieșire
Hello 

Complexitate a timpului: O (1)

Complexitate spațială: O (1)

2) un distracție de nule () poate returna o altă funcție de natură:  O funcție de void poate apela, de asemenea, o altă funcție void în timp ce se termină. De exemplu 

CPP
   // C++ code to demonstrate void()   // returning void()   #include          using     namespace     std  ;   // A sample void function   void     work  ()   {      cout      < <     'The void function has returned '      ' a void() !!!   n  '  ;   }   // Driver void() returning void work()   void     test  ()   {      // Returning void function      return     work  ();   }   // Driver Code   int     main  ()   {      // Calling void function      test  ();      return     0  ;   }   

Ieșire
The void function has returned a void() !!!  

Complexitate a timpului: O (1)

Complexitate spațială: O (1)

Codul de mai sus explică modul în care void () poate fi de fapt util pentru a returna funcțiile void fără a da erori.
 
3) un void () poate returna o valoare nulă: Un void () nu poate returna o valoare care poate fi utilizată. Dar poate returna o valoare care este nulă fără a da o eroare. De exemplu

CPP
   // C++ code to demonstrate void()   // returning a void value   #include          using     namespace     std  ;   // Driver void() returning a void value   void     test  ()   {      cout      < <     'Hello'  ;      // Returning a void value      return     (  void  )  'Doesn't Print'  ;   }   // Driver Code   int     main  ()   {      test  ();      return     0  ;   }   

Ieșire
Hello 

Complexitate a timpului: O (1)

Complexitate spațială: O (1)