Unterschied using/include?
-
Hallo,
ich versteh nicht genau wo der unterschied zwischen using namespace und #include ist?
Kann mir vllt. jemand den wesentlichen Unterschied nennen?
Danke
-
#include ist eine simple Kopie der includierten Datei in die aktuelle Datei.
using macht den Namespace in der aktuellen (und jeder, die diese includieren) Datei bekannt. Du kannst also Klassen/Funktionen/Variablen innerhalb eines Namespaces nutzen, ohne den Namespace extra vor die Klasse/Funktion/Variable zu schreiben.
kleine Beispiele:
blub.h:
namespace meinNamensraum { int testfunc(int x) { return x*2; } }test.cpp:
#include "blub.h" //Inhalt der Datei wird in test.cpp eingefügt. int n = testfunc(18); //funktioniert nicht, da kein testFunc im globalen Namespace existiert int f = meinNamesraum::testfunc(18); //funktioniert, da der Namesraum exklusiv angegeben wurdetest2.cpp:
#include "blub.h" //Inhalt der Datei wird in test2.cpp eingefügt. using namespace meinNamensraum; int n = testfunc(20); //funktioniert, da der Namesraum "meinNamesraum" in test2.cpp bekannt gemacht wurde.
-
dankeschön
