013
28.11.2003, 19:25 Uhr
Pablo
Supertux (Operator)
|
Zitat: |
~daulphins postete aber ich habe niemals dises **using namespace std;** gebraucht um ein programm zu schreiben,ich bin noch ein anfänger
|
Eine der Unterschiede zwischen C und C++ sind die Namesapes (Namensbereiche). Der Vorteil von Namespaces, ist dass man eine bessere Gleiderung von deinen Klassen, globalen Variables, usw. Der Aufruf std::etwas() entspricht: rufe die Funktion etwas von Namensbereich std. std steht für Standard (das ist so, oder?). Nach ANSI müsste man iostream statt iostream.h includieren (#include <iostream> // ohne .h) und Objekte wie cin oder cout befinden sich im Namespace std. Deshlab findest du hier meistens std::cin std::cout, wenn du Fragen über C++ liest, die in ANSI C/C++ Forum besprochen werden.
Da früher nur cin oder cout einfach so benutzt wurden, hat man sich dran gewöhnt und vor allem, weil man das immer vergisst, auch wenn man schon lange Zeit mit ANSI C++ programmiert. Damit man auf std:: auf allen Zeilen verzichtet, fügt man die Zeile using namespaces std; hinzu (beachte, dass std nicht der einzige Namespace ist, so kannst du mehrere using namespace name des Namensbereiches Zeilen hinzufügen. Der Nachteil ist, wenn eine Variable oder Funktion oder sonstige Datenstrukturen mit dem selben Namen in 2 unterschiedlichen deklariert sind, dann gibt es Problem beim kompilieren, denn der Compiler kann dann nicht mehr entscheiden, welchen Namespace er nehmen soll. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! |