STL: Ordered Map?



  • DocShoe schrieb:

    Was genau willst du eigentlich?

    Ganz einfach: ich wollte wissen, ob die STL so was kann (da ich es möglicherweise übersehen haben könnte). Diese Frage war im Prinzip mit dem 2. Posting beantwortet - allerdings ging dann das Getrolle der Möchtegerne-C++-Gurus los, warum/wieso ich wohl zu doof bin, einfach Boost zu benutzen.

    D.h. 10% des Threads brauchbar, der Rest einfach nur Egotrips von Schülern, die sich für ganz toll halten (und es dabei nicht mal schaffen, die Fragestellung zu erfassen).

    EOF!



  • nicht extra den Boost-Klotz ans Bein binden

    Du bist selbst nicht besser. Nach diesem unqualifizierten Beitrag ging es los. Du hast nichts von zertifizierten Komponenten erwaehnt. Auch hast du dich im Vorfeld nicht eingehend mit dem Container der Standardbibliothek beschaeftigt, sie ist wirklich nicht gross.


  • Administrator

    @Blampf,
    Also ich möchte das auch noch mal hervorheben. Es ging wirklich erst los, als du gesagt hast, dass Boost ein Klotz sei. Zuvor hast du nirgends etwas von zertifizieren erwähnt. Wenn du jemanden zum beschuldigen suchst, dann fang zuerst mal bei dir an.

    Aber mal abgesehen von all diesem belanglosem Zeug:
    Hast du schon mal die Rechnung wirklich durchgeführt, was für dich am Ende besser ist? So einen eigenen Container zu entwickeln kostet auch etwas. Der wird sicher auch Bugs haben. Am Ende investierst du eine Menge an Arbeitszeit in etwas, was es eigentlich bereits fertig und getestet gäbe. Wäre die Zertifizierung von Boost oder allenfalls auch nur multi_index_container nicht vielleicht günstiger?

    Grüssli



  • gastgast schrieb:

    Was Deinen Zweck wahrscheinlich erfüllt - wenn ich das richtig verstanden habe - ist eine Map, die statt der Werte die Indizes eines Vektors speichert, der die eigentlichen Werte enthält. Wrapper Klasse drum, die operator[] für int und typename T überlädt. Fertig. Oder?

    Ich glaub die einfachste Lösung wurde schon gefunden, oder?



  • Danke für die Blumen 🙂

    Nach welchem Standard soll den zertifiziert werden? Es ist ja denkbar, dass, wenn es ein bekannter Standard ist, die boost-libs da schon lange durch gelaufen sind. Dann gehen auch die boost Entsprechungen ohne Mehraufwand.



  • gastgast schrieb:

    Danke für die Blumen 🙂

    Nach welchem Standard soll den zertifiziert werden? Es ist ja denkbar, dass, wenn es ein bekannter Standard ist, die boost-libs da schon lange durch gelaufen sind. Dann gehen auch die boost Entsprechungen ohne Mehraufwand.

    Ich kenn mich mit Zertifizieren ja nicht aus, aber ich kann mir vorstellen, dass boost zu zertifizieren sehr schwer ist: 1. boost ist riesig, 2. die release-zyklen sind extrem kurz, 3. alte version werden nicht gepflegt und 4. es gibt wahrscheinlich nur sehr wenige leute die überhaupt einige libs zertifizieren können.



  • zu 1. Egal, man nimmt was man braucht und nicht alles was man bekommt.
    zu 2. Egal, weil du dir nur einen Stand zertifizieren lassen kannst.
    zu 3. Egal, weil sonst das Zertifikat flöten geht, weil anderer Stand.
    zu 4. Wer das darf und wer nicht bestimmt der Herausgeber des Zertifikats. Das ist auch nichts magisches. Da wird einfach nur überprüft, ob bestimmte Kriterien erfüllt werden.



  • Nick Unbekannt schrieb:

    zu 4. Wer das darf und wer nicht bestimmt der Herausgeber des Zertifikats. Das ist auch nichts magisches. Da wird einfach nur überprüft, ob bestimmte Kriterien erfüllt werden.

    Kennst Du Dich mit sowas aus? Was sind typische Kriterien? Und wie sieht so ein Zertifizierungsprozess aus?



  • Ganz banale Kriterien sind, wie dein Code strukturiert und syntaktisch aufgebaut ist. Die konkreten Prüfkriterien sind aber meist nicht öffentlich einsehbar, weil man damit Geld verdient. Es hängt auch vom Bereich ab, welches Zertifikat letztendlich anerkannt wird.
    Für dich als Privatperson ist eher so etwas wie valgrind, Unittests, oder ein Profiler interessant. Damit kannst du selber überprüfen, ob von dir gesetzte Kriterien erfüllt werden. Die einzelnen Programme dienen dabei verschiedenen Zwecken. Mit valgrind kannst du prüfen, ob deine Software robust ist. Unittests zeigen, ob die gewünschte Funktion erbracht wird. Dazu gehört es auch zu überprüfen, was im Fehlerfall passiert. Mit dem Profiler kannst du zum Schluss noch Flaschenhälse entdecken.
    Aber zur Ausgangsfrage, ich habe keine Erfahrung mit Zertifizierungsprozessen.



  • Nick Unbekannt schrieb:

    Ganz banale Kriterien sind, wie dein Code strukturiert und syntaktisch aufgebaut ist. Die konkreten Prüfkriterien sind aber meist nicht öffentlich einsehbar, weil man damit Geld verdient. Es hängt auch vom Bereich ab, welches Zertifikat letztendlich anerkannt wird.

    Ein Zertifizierungsprozess hat durchaus Ähnlichkeiten mit einem Bullshit-Bingo, je nach Zertifizierungsstelle ist die Erfüllung leichter oder schwerer und selten wirklich verständlich oder praxisnah. So zumindest meine Erfahrung mit denen die ich am Rande miterlebt habe (z.B. ISO 9001).

    Und Zertifikate sind selten für mehr gut, als um den Kunden den "Anschein" von Ordnung und Sicherheit zu vermitteln, da zwar viel Papier generiert wird, und auch viel hinterfragt wird, aber selten eine genaue (und vor allem: durchgängige) Nachprüfung erfolgt.

    Zwar ist die Tendenz gegeben, das in einer zertifizierten Firma "sauberer" gearbeitet wird, aber häufig ist es mehr Schein nach außen - Teuer erkauft, schwierig in der Umsetzung und selten länger haltbar als der Zeitraum bis die zertifizierenden Personen den Laden verlassen haben.
    Ich will nicht sagen, das dies zwangsweise für alle Zertifizierungen gilt, aber ich habe bislang mehr Schein als Sein in der Praxis erlebt (und würde keinen Zertifikat blind vertrauen, oder massiv in einer Aufgabevergabe berücksichtigen [zwar positiv bewerten, aber nicht überbewertem]).

    Blampf schrieb:

    D.h. 10% des Threads brauchbar, der Rest einfach nur Egotrips von Schülern, die sich für ganz toll halten (und es dabei nicht mal schaffen, die Fragestellung zu erfassen).

    Dein Verhalten, und deine Äußerungen im Thread, solltest du dir auch mal neutral anschauen. Und dann Frage dich bitte, was Andere von dir halten sollten. Und auf deine Eingangsfrage ist boost nicht ganz auszuschließen gewesen, weil so dicht am Standard, wie keine andere Bibliothek der Standardbibliothek (und nicht gerade wenige Fragende haben nunmal keine Zertifizierungen am Hals, oder kennen viel außerhalb der Standardbibliothek).

    Beim nächsten mal weißt du ja eh, das du deine Frage noch genauer stellen kannst (...ausschließlich C++ Standardbibliothek...). Ich wünsche dir dennoch viel Glück in der Umsetzung, und hoffe niemals in deine Situation des Zertifizierungswahnsinns zu kommen (Vielen reicht es, wenn eine Bibliothek besser getestet ist, als man selbst vermutlich jemals schaffen kann, und das gilt auch auf boost).


Anmelden zum Antworten