Ist im Standard definiert das in iostream auch string eingebunden ist?
-
Sehe mir nämlich gerade Video2brain C++ Kurs an und dort wird std::string benutzt ohne was von der Header-Datei string zu erwähnen. Im Quelltext wird nur iostream eingebunden.
-
Aber selbst wenn das okay sein sollte, ich bitte euch diese DVD nicht zu kaufen, da wird noch viel mehr falsches Zeug gesagt.
Von templates und Sachen aus der STL (ausser string) keine Spur.Gestern meinte mein Java-Dozent es gäbe in C und C++ keinen Typen zur Speicherung von boolschen Werten.
Schrecklich. Wenn man keine Ahnung hat, sollte man lieber nichts sagen.
-
wenn string in iostream irgendwie verwendet werden sollte, dann müsste auch string inkludiert sein. aber ich sehe da nichts, was nicht auch mit einer vorwärtsdeklaration gelöst werden könnte. aus wartbarkeits- und tipparbeitsgründen wird wahrscheinlich <string> inkludiert sein, aber ich finde gerade nichts, was es erzwingt. lieber auf alle fälle sicher gehen und <string> immer inkludieren.
-
Hallo,
<iostream>
bindet normalerweise string mit ein. Ansonsten kann man ja <string> inkludieren.
Über Dozenten, die Java lehren, und über C++ erzählen sage ich lieber nichts.
-
Entschuldigung davie.
string kann man definitv nicht über eine Forwardeklaration reinziehen.
-
nein. man selbst nicht. das ist klar, das meinte ich auch gar nicht.
aber die compilerbauer und iostream&standardlib-designer könnten sehr wohl eine vorwärtsdeklaration für ihren string in ihrer iostream bibliothek einbauen, das weiß man ja nie so genau. also rein theoretisch würde ihnen eine reichen. ich meinte nur, man solle sich nicht darauf verlassen, das string inkludiert ist, weil es compilerbauer auch alles anders machen können, als man denkt.
hab mich da vielleicht schlampig ausgedrückt.
-
Hab diese Lern-Software mal bei einem Bekannten gesehen. Im Bereich "Fortgeschrittene Themen" wird Dateiverarbeitung mit fstream gezeigt, die Benutzung von Eclipse als C++ IDE (wer benutzt das?), und grafische Oberflächen mit gtk+, nicht gtkmm.
Und die ganze Zeit arbeiten die da mit cygwin und emacs unter Windows. Die haben echt die Tools ausgewählt die am wenigstens in der Praxis genutzt werden.

-
loool schrieb:
Gestern meinte mein Java-Dozent es gäbe in C und C++ keinen Typen zur Speicherung von boolschen Werten.
Schrecklich. Wenn man keine Ahnung hat, sollte man lieber nichts sagen.
Er ist vielleicht nur auf einem veralteten Stand. Java hatte vor AFAIK vor C++ einen bool'schen Typ, mit Sicherheit hatte aber C++ nicht gleich einen. Das C++ nicht gleich einen hatte, merkt man heute noch an while(1) und if(myInt).
In Java kann man bool <-> int gar nicht casten, in C++ geht es implizit. Das passiert, wenn man nachträglich was einfrickelt. Natürlich, es ist so furchtbar praktisch, nicht if( myInt != 0 ) schreiben zu müssen.
Aber es ist trotzdem eine Altlast. Vor kurzem schrieb ich mal aus Versehenif( abs(foo < 2) )und das hat mir immerhin doch 10min debugging-Spaß gebracht.

Natürlich heiße ich es nicht gut, wenn man außerhalb seiner Java-Welt nichts mehr von anderen Sprachen mitbekommt. Obwohl ich auch nicht freiwillig in C++ programmiere, interessiere ich mich trotzdem dafür, was der neue Standard bringt.
-
C++ gibt es erst offiziell seit 1998 und dort gibts bool im Standard.
-
George Boole schrieb:
C++ gibt es erst offiziell seit 1998 und dort gibts bool im Standard.
Na also, dann hatte Java vor C++ einen bool'schen Typ. Wie gesagt.
Ich will ja keine großen Vergleiche anstellen, aber "seit 98" ist noch nicht sehr lange und ich kann mir schon vorstellen, dass der Dozent vielleicht nicht auf dem neuesten Stand ist.