2014-03-25 17 views
9

Als ich grundlegenden C++ zu lernen begann, habe ich früher immer die ÜberschriftenWas macht "#include <iostream>"?

#include <iostream> 
using namespace std; 

ich in Frage stellen will, was der Punkt von Iostream ist. Wird es jedes Mal als Überschrift benötigt?

+0

Nein, es sei denn, Sie möchten etwas von/in den Stream schreiben/schreiben. – Mahesh

Antwort

18

Um die Standardeingabe-/ausgabeströme zu lesen oder zu schreiben, müssen Sie sie einschließen.

int main(int argc, char * argv[]) 
{ 
    std::cout << "Hello World!" << std::endl; 
    return 0; 
} 

Das Programm wird nicht kompiliert, wenn Sie #include <iostream>

Die zweite Zeile hinzufügen, ist nicht notwendig

using namespace std; 

Was das tut, ist der Compiler sagen, dass Symbolnamen im std Namespace definiert sind in den Bereich Ihres Programms gebracht werden, so dass Sie das Namespace-Qualifikationsmerkmal weglassen und zum Beispiel

#include <iostream> 
using namespace std; 
int main(int argc, char * argv[]) 
{ 
    cout << "Hello World!" << endl; 
    return 0; 
} 
schreiben können

Beachten Sie, dass Sie nicht mehr auf den Ausgabestream mit dem vollständig qualifizierten Namen std::cout verweisen müssen und den kürzeren Namen cout verwenden können.

Ich persönlich mag nicht im Namensraum von einer Header-Datei in allen Symbolen zu bringen ... Ich werde individuell die Symbole auswählen Ich mag kürzer sein ... so würde ich dies tun:

#include <iostream> 
using std::cout; 
using std::endl; 

int main(int argc, char * argv[]) 
{ 
    cout << "Hello World!" << endl; 
    return 0; 
} 

Aber das ist eine Frage der persönlichen Präferenz.

+3

Danke, das war eine großartige Erklärung. :) – William

5

Das ist eine Header-Datei für input output streams. Es enthält Funktionen zum Lesen und Schreiben von Streams. Sie müssen es nur hinzufügen, wenn Sie Streams verwenden möchten.