Winterday schrieb:
... dass der TE die C++ Standard Library benutzt und nicht die STL deren Namen wir hier so salopp verwenden. Der TE benutzt also keineswegs die STL, nicht einmal, wenn er STLport als Bibliothek nutzt.
Das ist so nicht richtig. Die Standardbibliothek implementiert zahlreiche Algorithmen und Funktionen aus der STL, insofern greift sie durchaus auf die STL zurück, auch wenn sie davon unabhängig arbeitet. Prinzipiell ist die STL nur ein Teil der Standardbibliothek.
Aber natürlich kannst du diesen Korinthenkackerscheiß fortführen. Dummerweise kann man deine Argumentation genauso umdrehen und gegen dich wenden.
string ist nämlich Bestandteil der Standardbibliothek und nicht der STL. Inwiefern es nun Sinn macht iostream aus der Standardbibliothek zu verwenden, string aber nicht, das müsstest du hier schon plausibel darlegen.
Diese Antwort bist du bisher nämlich schuldig geblieben und versuchst dich stattdessen in irgendwelche Ausflüchte zu retten.
Winterday schrieb:
Die letzte Final von Bloodshed Dev-C++ stammt meines Wissens aus dem Jahr 2005. So alt ist das gar nicht, ich arbeite oft genug mit älteren IDEs und Compilern. Die Unterschiede und Feinheiten zu C++0x sind für den TE als Anfänger belanglos.
Hier geht es nicht um C++0x. DevC++ erlaubt es unter anderem die Uralt-Header, wie iostream.h, einzubinden, die noch nicht im Standardnamensraum versammelt sind. Bestimmte Templatekonstrukte quittiert der Compiler mit einem Fehler. Darüberhinaus produziert der Compiler lausigen Maschinencode.
Da die IDE nicht mehr weiterentwickelt wird, hat sie
keine Zukunft.
Es gibt
keinen Grund DevC++ zu verwenden, nur die eigene Sturheit.
Winterday schrieb:
Die C++ Standard Bibliothek enthält die gesamte C Bibliothek, und C++ enthält C. Was man wie verwendet ist grundsätzlich eine Stilfrage, die den TE erst später beschäftigen wird, wenn er die Grundlagen begriffen hat.
Nein. Die C++ Standardbibliothek enthält keinerlei C-Bibliotheken, nur neue C-Header. Die C-Bibliothek ist eine Standalone Runtime Library.
C++ ist lediglich größtenteils abwärtskompatibel zu C, aber das hört auch schon bei der Semantik von Structs auf.
Darüberhinaus ist es mit Sicherheit keine einfache Stilfrage. C++ ist eine eigene Sprache und ist streng zu trennen von C. Du wirst auf den meisten Embedded Systemen kein C++ Code ausführen können, sehr wohl aber C Code.
Winterday schrieb:
Ich zweife daran, dass unsere Diskussion dem TE hilft, irgend etwas besser zu verstehen - das bedaure ich.
Wie bitte? Den Threadersteller darauf hinzuweisen C und C++ nicht zu mischen und ihm den korrigierten Code zu zeigen, soll nicht hilfreich sein?!
Was wäre dann hilfreich? Ihm einen
Arschtritt zu verpassen damit er schnallt was Sache ist oder ihn einfach abzunicken und darauf zu spekulieren das der Threadersteller eines fernen Tages von alleine feststellt das es da noch soetwas wie eine Stringklasse in C++ gibt?
Winterday schrieb:
Das ist kein Geheimnis, sondern das Ergebnis der ersten Schritte eines Anfängers, der herumprobiert. Ein C++ Experte sollte eigentlich verstehen warum das so ist - er hat selbst so angefangen
Falsch! Weder ist dass das Resultat von Anfängerschritten, noch fängt ein "C++-Experte" so an.
So fängt jemand an, der keine Ahnung hat was er da eigentlich macht und, statt sich ein vernünftiges Buch zu kaufen oder Tutorial zu lesen, seine Informationen irgendwo aus dem Netz zusammenkopiert. Und das auch noch von offensichtlich lausigen Seiten.