Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    655

    [C++]keyword return in una funzione

    Ciao a tutti dunque nel mio programma C++, ho una funzione che ha la seguente struttura:

    codice:
    function name {
                         ....;
                         while(cond){return true;}
                         ....;
                         return false;
    }
    ora il mio dubbio è se la condizione del while è vera il flusso di controllo esce dall'intera funzione oppure esce solo dal ciclo while e quindi la mia funzione per come è scritta sarà sempre destinata a ritornare false??

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    il return esce dalla funzione, il break esce dal ciclo

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    La tua funzione ritornerebbe se la firma fosse diversa.
    Così com'è non credo nemmeno che sia compilabile, visto che la funzione, secondo la firma, non dovrebbe ritornare alcunché.

    Tra parentesi, se la condizione del while è vera, la tua funzione non ritorna mai, continuando a ciclare finchè essa non diventa falsa (un ciclo while non termina se la condizione è vera, ma solo se la condizione è falsa o se il corpo del while prevede un return [pessima programmazione]).



    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Mi accorgo solo ora che il corpo del while() è semplicemente un return... quindi ricadiamo nel caso citato tra parentesi (quello della pessima programmazione)...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.