Perché iostream non è più incluso come file di intestazione?

2

Prima di tutto ho seguito questa domanda Perché #include < iostream.h > cattivo? e lì il motivo era semplicemente che è obsoleto ma personalmente penso che come un iostream di intestazione fosse meglio perché non devi dichiarare oggetti come cout e endl in ambito globale cos perché erano già in ambito globale e inoltre poiché # non è più utilizzato, ciò significa che non rientra in una direttiva pre-processore. Devo solo sapere perché è stato fatto? Uso ancora il turbo a volte e mi sento a mio agio nell'usarlo nei programmi c ++ anche se gcc e g ++ offrono migliori debugger e tutto il resto.

    
posta CAO 16.09.2013 - 19:42
fonte

1 risposta

9

Penso che tu abbia frainteso la domanda. È male includere iostream.h perché al giorno d'oggi dovresti usare iostream . iostream.h non è aggiornato, # include -int significa semplicemente che il tuo codice può o meno rompere, o sparare scimmie dal tuo naso, è definito dall'implementazione.

Il passaggio a iostream passa semplicemente alla versione standard. Hai la certezza che funzioni, con un'API di eccezione, una migliore localizzazione, ecc. Ecc.

Inoltre, non vuoi che tutto std venga scaricato nello spazio dei nomi globale. Ci sono tonnellate di cose che non vuoi sapere. Digitando questi 5 caratteri in più si evitano errori strani se si ha una classe chiamata map o qualcosa di simile.

Detto questo, se vuoi veramente usare il C ++ com'era prima del 1998, devi averlo. Ma stai gettando via il supporto della comunità (la comunità C ++ è passata), gli aggiornamenti e tutte le innovazioni moderne degli ultimi 1,5 decenni. Penso che questi superino l'unico lato negativo che vedo, imparando alcune cose nuove su come il C ++ è cambiato.

    
risposta data 16.09.2013 - 19:56
fonte

Leggi altre domande sui tag