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: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:
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?codice:#include <iostream> using namespace std;
Si poteva fare a meno di metterla? e cosa cambia?
std::cout << "x" << std::endl << "y" << std::flush;
iostream.h è la vecchia libreria per l'i/o... Qualche hanno fa è stata riscritta completamente e l'hanno chiamata iostream (senza .h)...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...![]()
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...
![]()