PDA

Visualizza la versione completa : [C++] Dubbio Namespace


Akira86
03-05-2004, 18:33
Ciao...

Ho trovato diversi sorgenti di programmi che usavano i namespace e allora mi sono documentato per impararli...

Per˛ non ho capito una cosa in questo esempio:



#include <iostream>

using namespace std;



Viene inclusa la libreria di I/O (iostream) con la quale si ha la possibilitÓ di usare cin, cout, endl, ecc... e allora perchŔ e stata messa anche la 'direttiva d'uso' namespace sdt?
Si poteva fare a meno di metterla? e cosa cambia?

Poi un altro dubbio, perche non hanno messo <iostream.h>? so che per certi compilatori e indiferente metterci .h per˛ di solito ce la mettono tutti..

Grazie a chi mi risponde... :ciauz:

GNAWS
03-05-2004, 19:21
Originariamente inviato da Akira86
Ciao...

Ho trovato diversi sorgenti di programmi che usavano i namespace e allora mi sono documentato per impararli...

Per˛ non ho capito una cosa in questo esempio:



#include <iostream>

using namespace std;



Viene inclusa la libreria di I/O (iostream) con la quale si ha la possibilitÓ di usare cin, cout, endl, ecc... e allora perchŔ e stata messa anche la 'direttiva d'uso' namespace sdt?
Si poteva fare a meno di metterla? e cosa cambia?Puoi evitare di mettere "using namespace std;", ma in quel caso ogni volta che richiami le funzioni cin e cout (e anche le altre funzioni definite nel namespace std, tipo la funzione flush o endl) devi far seguire il nome della funzione da "std::"... Esempio:
std::cout << "x" << std::endl << "y" << std::flush;


Poi un altro dubbio, perche non hanno messo <iostream.h>? so che per certi compilatori e indiferente metterci .h per˛ di solito ce la mettono tutti..

Grazie a chi mi risponde... :ciauz: iostream.h Ŕ la vecchia libreria per l'i/o... Qualche hanno fa Ŕ stata riscritta completamente e l'hanno chiamata iostream (senza .h)...
Non noterai nessuna differenza (apparte la necessita' di dover usare il namespace std), perchŔ hanno lasciato quasi tutte le funzioni, ma ne hanno migliorato il codice...

:ciauz:

Akira86
03-05-2004, 19:42
Ora e tutto chiaro...

Grazie Mille.. :ciauz:

Loading