C++ online Wissenstest



  • Und wenn wir schon dabei sind, möchte ich mal sehen, wie du quizzer mit reinem C++ eine Datei einliest. 😉



  • Dravere schrieb:

    Über die Standardbibliothek könnte man natürlich streiten

    Da brauchen wir uns nicht zu streiten, zumindestens ist sie Teil der Drafts zum Standard die ich kenne (Und die Standardbibliothek enthält auch die STL - kannst mich gerne korrigieren).

    cu André



  • drakon schrieb:

    Und wenn wir schon dabei sind, möchte ich mal sehen, wie du quizzer mit reinem C++ eine Datei einliest. 😉

    mit fstream?

    fstream gehört imo nicht zur STL und die http://www.cppreference.com/index.html sieht das genauso...



  • Erstmal: Dravere hat recht. Von einer STL steht nichts im Standard. Dort gibts nur eine C++ Standard Library.

    It0101 schrieb:

    drakon schrieb:

    Und wenn wir schon dabei sind, möchte ich mal sehen, wie du quizzer mit reinem C++ eine Datei einliest. 😉

    mit fstream?

    fstream gehört imo nicht zur STL und die http://www.cppreference.com/index.html sieht das genauso...

    Das gehört zur C++ Standard Library. Und die ist die ohne die Container- und Algorithmen Templates unvollständig.



  • hmm aber warum steht das bei der C++ reference explizit außerhalb der STL bei C++ I/O ?



  • It0101 schrieb:

    hmm aber warum steht das bei der C++ reference explizit außerhalb der STL bei C++ I/O ?

    Keine Ahnung, aber solange beides im C++ Final Draft steht, gehört dies für mich - unabhängig von der Namenswahl - zum C++ Standard.

    cu André



  • fstream gehört zum standard und die STL gehört zum standard... d.h. aber nicht das fstream zur STL gehört 🙂 Es ging ja jetzt darum ob man ohne STL Dateien einlesen kann.



  • It0101 schrieb:

    hmm aber warum steht das bei der C++ reference explizit außerhalb der STL bei C++ I/O ?

    Was in irgendwelchen Quellen im Netz steht, ist mir ziemlich Wumpe. Ich gucke da in die ISO/IEC 14882:2003. Ich denke, das ist recht bindend, wenn es um Aussagen zum Standard geht.
    Bei Dingen die man hier falsch macht, hilft einem camper auf die Sprünge und verweisst auf die entsprechenden Stellen :p



  • Was cppreference sagt ist wurscht. Nur der ISO-Standard zählt. Und der sagt nebenbei auch, dass es neben der hosted-Implementierung auch freestanding-Implementierungen geben darf, die nur lib.support.* enthalten müssen (1.4.7 und 17.4.1.3).
    /edit: Und nicht mal das vollständig. Erforderlich sind nur die Header cstddef, limits, cstdlib, new, typeinfo, exception und cstdarg weil diese für Teile der Sprache(!) benötigt werden.

    Dateien einlesen oder etwas ausgeben geht dann z.B. mit POSIX-Funktionen oder anderem betriebsystemspezifischen.



  • na gut, wieder was dazu gelernt 😉


  • Administrator

    drakon schrieb:

    Und wenn wir schon dabei sind, möchte ich mal sehen, wie du quizzer mit reinem C++ eine Datei einliest. 😉

    Wo ist das Problem? WinAPI verwenden, MFC verwenden. Die C++ Standardbibliothek ist nicht nötig. Und schliesslich macht diese im Hintergrund auch nichts anderes, als auf Windows die WinAPI zu benutzen.

    Deshalb denke ich, kann man durchaus eine Trennung zwischen C++ und der Standardbibliothek sehen. Ich habe früher ohne die Standardbibliothek gearbeitet, nur C++ und MFC. Das geht ... kein Problem!

    asc schrieb:

    (Und die Standardbibliothek enthält auch die STL - kannst mich gerne korrigieren).

    Jein. Ich möchte mal, dass du mir den Textauschnitt im Standard zeigst, wo der Name STL vorkommt. Die aktuelle STL hat sich inzwischen weiterentwickelt und sieht anders aus, als die, welche damals in die Standardbibliothek kopiert wurde. Die Standardbibliothek enthält in dem Sinne also nichts anderes. Es wurden allerdings damals Ideen - und davon reichlich - von der STL übernommen.

    Grüssli



  • Ist ja das Gleiche mit Boost. Davon wird auch relativ viel in TR1 und den neuen Standard einfliessen. Aber schlussendlich wird im C++-Standard kaum je das Wort "Boost" erwähnt werden.

    Trotzdem halte ich es für legitim, wenn man std::tr1::array mit Boost und std::vector mit der STL in Verbindung bringt. Nicht zuletzt, weil sich das im Zusammenhang mit der Standardbibliothek so eingebürgert hat. 😉



  • Dravere schrieb:

    drakon schrieb:

    Und wenn wir schon dabei sind, möchte ich mal sehen, wie du quizzer mit reinem C++ eine Datei einliest. 😉

    Wo ist das Problem? WinAPI verwenden, MFC verwenden. Die C++ Standardbibliothek ist nicht nötig. Und schliesslich macht diese im Hintergrund auch nichts anderes, als auf Windows die WinAPI zu benutzen.

    Das Problem ist, dass du meinen Post nicht richtig gelesen hast. 😉
    Ich habe gesagt mit reinem C++, wie es quizzer versteht. Ich habe nicht gesagt: "nicht mir der Standardbibliothek", sondern mit dem "reinen" C++, wie es quizzer versteht.

    It0101 schrieb:

    fstream gehört zum standard und die STL gehört zum standard... d.h. aber nicht das fstream zur STL gehört 🙂 Es ging ja jetzt darum ob man ohne STL Dateien einlesen kann.

    Dann solltest du mal genauer spezifizieren, was DU unter STL verstehst..



  • drakon schrieb:

    Dravere schrieb:

    drakon schrieb:

    Und wenn wir schon dabei sind, möchte ich mal sehen, wie du quizzer mit reinem C++ eine Datei einliest. 😉

    Wo ist das Problem? WinAPI verwenden, MFC verwenden. Die C++ Standardbibliothek ist nicht nötig. Und schliesslich macht diese im Hintergrund auch nichts anderes, als auf Windows die WinAPI zu benutzen.

    Das Problem ist, dass du meinen Post nicht richtig gelesen hast. 😉
    Ich habe gesagt mit reinem C++, wie es quizzer versteht. Ich habe nicht gesagt: "nicht mir der Standardbibliothek", sondern mit dem "reinen" C++, wie es quizzer versteht.

    Und das heißt? Er meint die reine Sprache, aber die erlaubt doch das Einbinden von anderen Bibliotheken…

    drakon schrieb:

    It0101 schrieb:

    fstream gehört zum standard und die STL gehört zum standard... d.h. aber nicht das fstream zur STL gehört 🙂 Es ging ja jetzt darum ob man ohne STL Dateien einlesen kann.

    Dann solltest du mal genauer spezifizieren, was DU unter STL verstehst..

    Vermutlich <{algorithm, iterator, queue, stack, deque, list, vector, map, set}>. Scheint mir auch recht sinnvoll so.



  • .filmor schrieb:

    drakon schrieb:

    Dravere schrieb:

    drakon schrieb:

    Und wenn wir schon dabei sind, möchte ich mal sehen, wie du quizzer mit reinem C++ eine Datei einliest. 😉

    Wo ist das Problem? WinAPI verwenden, MFC verwenden. Die C++ Standardbibliothek ist nicht nötig. Und schliesslich macht diese im Hintergrund auch nichts anderes, als auf Windows die WinAPI zu benutzen.

    Das Problem ist, dass du meinen Post nicht richtig gelesen hast. 😉
    Ich habe gesagt mit reinem C++, wie es quizzer versteht. Ich habe nicht gesagt: "nicht mir der Standardbibliothek", sondern mit dem "reinen" C++, wie es quizzer versteht.

    Und das heißt? Er meint die reine Sprache, aber die erlaubt doch das Einbinden von anderen Bibliotheken…

    quizzer schrieb:

    alles nur mit reinem nackten C++ code.

    Wenn er ein Quiz will, wo man nichtmal die Standardbibliothek nutzen "darf/sollte", macht es wohl keinen Sinn über das einbinden von Betriebsspezifischen libs zu diskutieren..

    drakon schrieb:

    It0101 schrieb:

    fstream gehört zum standard und die STL gehört zum standard... d.h. aber nicht das fstream zur STL gehört 🙂 Es ging ja jetzt darum ob man ohne STL Dateien einlesen kann.

    Dann solltest du mal genauer spezifizieren, was DU unter STL verstehst..

    Vermutlich <{algorithm, iterator, queue, stack, deque, list, vector, map, set}>. Scheint mir auch recht sinnvoll so.

    Da hätte man auch ohne Standard-Container/Iteratoren/Algorithmen sagen können.. 🙄



  • drakon schrieb:

    Da hätte man auch ohne Standard-Container/Iteratoren/Algorithmen sagen können.. 🙄

    Kurz: Ohne Templates. 😉



  • Fellhuhn schrieb:

    drakon schrieb:

    Da hätte man auch ohne Standard-Container/Iteratoren/Algorithmen sagen können.. 🙄

    Kurz: Ohne Templates. 😉

    Dann müssten strings,streams usw da aber auch rein..


Anmelden zum Antworten