cout nur noch mit #include <iostream>???



  • Kurze Frage:

    Warum schreibt man unter Visual C++ .NET 2003 nur noch #include <iostream> statt #include <iostream.h> und warum muss man noch "using namespace std;" dazu schreiben um mit cout einfach etwas auszugeben? Ist das kompatibel mit anderen Compilern (auch unter Linux)?

    Danke schonmal!



  • <iostream> ist Standard C++ und somit zu jedem (neueren älter als 97) C++ Compiler kompatibel. iostream.h ist veraltet und du solltest das nicht mehr benutzen

    http://www.volkard.de/10.html



  • Der C++ Standard (übrigens von 1998) verlangt das so. Alle Standardheader haben Namen ohne Erweiterung, und alle Namen der Standardbibliothek sind im Namensraum std zu finden. D.h. um beispielsweise auf cout zugreifen zu können, mußt du entweder std::cout schreiben, oder es per using std::cout; in den aktuellen Scope importieren, oder per using namespace std; den ganzen Namensraum öffnen. In Headerdateien sollte man grundsätzlich nur das erstere machen, ausser man weiß was man tut.


Anmelden zum Antworten