STL Implementierung & Kompilator werden gesucht!



  • Dinkumware listet sie auch, und die sind in der LWG (Library Working Group) des C++ Komitee dabei.
    http://www.dinkumware.com/manuals/?manual=compleat&page=string2.html#basic_string::push_back



  • Naja, dann haben wir kein Problem! std::back_inserter funzt einfach toll unter VC2005. 😃



  • Simon2 schrieb:

    "Die C++ Programmiersprache", Stroustrup, 4. Auflage listet sie

    Auf welcher Seite hast du Sie darin gefunden? Als ich Gestern Abend gesucht habe habe ich sie nicht gefunden.


  • Mod

    Simon2 schrieb:

    "Die C++ Programmiersprache", Stroustrup, 4. Auflage listet sie

    vierte Auflage?



  • Also in der dt. 4. Auflage von Stroustrup kann ich kein string::push_back finden. Wobei ich den Stroustrup nicht gerade für sowas heranziehen würde. Jedenfalls nicht, wenn es um eine 100% Auflistung aller Schnittstellen geht.

    Simon2! Kannst du bitte das Kapitel nennen, wo du es gefunden hast?

    Stefan Kuhlins und Martins Schraders Buch über die Standardlib führt allerdings auch string::push_back auf.


  • Mod

    Oh, die Übersetzung der Special Edition wird hierzulande als 4. Auflage gehandelt. Sehr verwirrend...



  • lolz schrieb:

    Simon2 schrieb:

    "Die C++ Programmiersprache", Stroustrup, 4. Auflage listet sie

    Auf welcher Seite hast du Sie darin gefunden? Als ich Gestern Abend gesucht habe habe ich sie nicht gefunden.

    S. 635, Kapitel 20.3.9 "Strings/asic_string/Einfügen".
    Da kommen erst 3 operator+=() und dann push_back();

    camper schrieb:

    ...vierte Auflage?

    "Jeeeeeersey ?!" 😉
    Ich weiß nicht so recht, was Deine Frage bedeutet.
    Im Deckel steht:
    "Bjarne Stroustup
    Die C++ Programmiersprache
    4, aktualisierter und erweiterte Auflage"

    und die ISBN lautet 3-8273-1660-X
    EDIT sieht, dass Du sie inzwischen gefunden hast.

    Artchi schrieb:

    ...Wobei ich den Stroustrup nicht gerade für sowas heranziehen würde. Jedenfalls nicht, wenn es um eine 100% Auflistung aller Schnittstellen geht....

    Ich eigentlich auch nicht, aber nachdem ich sie im Standard erst nicht fand, habe ich mal die Bücher auf meinem Tisch durchforstet und da war der halt auch dabei....

    Gruß,

    Simon2.



  • Simon2! Stimmt, steht da tatsächlich. Würde mal sagen, nach den ganzen Referenzen aus allen möglichen Quellen, gehört push_back dazu. 😉



  • Tatsächlich, wie konnte ich den bloß übersehen 😮



  • Ich würde trotzdem nen vector nehmen 😃



  • Ich kann den Wnnsch, sich nicht an STL- oder sonstigen Inkompatibilitaeten auseinandersetzen zu müssen bestens verstehen.

    Aber ich hab noch nie ein grösseres Projekt gesehen, das trotz "portablem" Design einfach so durch einem anderen Compiler lief.

    Als "Smoke-Test" kann man den plattform-unabhängigen Teil mal auf der jeweils "anderen" Platform durchkompilieren, also z.B. ein Win32 VC Projekt mit dem Linux g++ und umgekehrt.
    Wenn sogar _das_ geht klappt's imho mit anderen Compiler auf der gleichen Platform auch mit vertretbarem Aufwand.
    Das ist aber die ganz harte Variante der QS; dazu muss das Projekt natuerlich entsprechende Layer aufweisen.

    Im vorliegenden Fall und gerade in Anbetracht der kontroversen Diskussion würde ich von "push_back" Abstand nehmen und "+=" verwenden.

    Es ist halt leider so: Wenn man wirklich "portablen" Code haben möchte kommtm man imho an trial-and-error nicht vorbei; am Zeichenbrett lässt sich nicht alles vorausssehen.

    Grüsse

    *this



  • Gast++ schrieb:

    Es ist halt leider so: Wenn man wirklich "portablen" Code haben möchte kommtm man imho an trial-and-error nicht vorbei; am Zeichenbrett lässt sich nicht alles vorausssehen.

    ACK
    Aber nicht nur wegen dem Zeichenbrett, sondern z.B. auch einfach deswegen weil Implementierungen diverser Libs die es für mehrere Plattformen gibt (und an denen kommt man bei grösseren Projekten kaum vorbei) eben auf den verschiedenen Plattformen - leider - oft unterschiedliches Verhalten zeigen.


Anmelden zum Antworten