logo

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)

cum să închideți modul dezvoltator

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)