std::string durchsuchen, aber ohne auf Groß- und Kleinschreibung zu achten... ? -Wie?



  • Vellas hat die Strings ja noch nicht mal per const referenz übergeben. 👎



  • @Simon2: Siehe Shade Of Mine's Post ... Ich kann dem nur zustimmen 👍 (das meinte ich 😉 ).



  • lolol schrieb:

    Vellas hat die Strings ja noch nicht mal per const referenz übergeben. 👎

    Dann guck mal genau hin, dann siehst du wieso, es würde nämlich keinen Sinn machen erst per const referenz zu übergeben und dann eine Kopie anzulegen, die ich sowieso braucht, dann kann ich auch direkt ne Kopie übergeben (weshalb Hume es in seinem Beispiel auch nicht getan hat).

    Die Variante von Hume ist natürlich wesentlich besser. Ich sollte wohl auch öfter mal wieder auf seine HP gucken. Finde die stricmp.h auch sehr schön. 🙂

    Greetz



  • Shade Of Mine schrieb:

    Was ist los mit euch in letzter Zeit?

    100 mal einen string kopieren verkauft ihr als gute Loesung...

    Tja, was nur mit Euch los in letzter Zeit ? 👎
    Ich frage lediglich, wie jemand zur Einschätzung kommt, es sei zu unperformant (die Vorteile der anderen Lösung habe ich gar nicht abgestritten) ... und sofort stürzt sich ein Haufen "Nichtangesprochener" auf mich, als ob ich Leichenschändung begangen hätte.

    Ist schon der Versuch, sich rational mit dem reflexartigen Performanceargument auseinanderzusetzen, Grund genug, mich in den feurigen Pfuhl der Java- und VB-Programmierer zu werfen ?

    Gruß,

    Simon2.

    P.S.: Bislang wurde übrigens meine Frage noch nicht beantwortet: Wieso findet "transformer" diese Lösung zu unperformant ?



  • bisse dumm junge?



  • kannst du die plattitüden auch einstellen und nicht einfach auf irgendne faq verweisen, die performanz anhand von stl konformität beurteilt?

    die in post #2 vorgestellte lösung ist für das gestellte problem hervorragend geeignet. sie ist kurz, leicht nachvollziehbar und wenig fehleranfällig.

    man sieht, dass strings kopiert werden (oh, hilfe!) und die lösung bietet keine von stl vergleichsoperatoren geforderte strikt-ordnung. aber war das gefordert? nö, wars nicht. jetzt kann man sich fragen, wofür die methode benötigt wird und im gesamtkonzept vergleichen, wie sehr sich das bisschen kopieren auf die performanz auswirkt.

    ist toll, wie einige leute son zeug hoch optimieren und alle eventualitäten erschlagen, aber an anderer stelle hoch komplexe algorithmen aus unwissenheit so schlecht implementieren, dass sie das programm im vergleich zu solchen kleinen vergleichsoperationen um faktor 1000 verlangsamen.

    angemessene optimierung.



  • Eine Lösung die funktioniert, verständlich ist, und ausreichend schnell ist, ist eine gute Lösung. Und ausreichend schnell kann die "tolower/toupper" Lösung in vielen Fällen sein. Meine Kritik an der "tolower/toupper" Lösung wäre vielleicht eher dass sie unnötig kompliziert ist - man braucht ein paar µs länger um zu verstehen was abgeht.

    Ein echtes Problem wird es aber erst wenn man anstelle von einer 8 Bit Codepage anfängt mit Unicode zu arbeiten. Oder viele verschiedene Codepages unterstützen will/muss. Aber das ist ein Horror an den ich gleich garnicht denken will... und gottseidank ein anderes Thema 🙂



  • transformer schrieb:

    bisse dumm junge?

    OK,

    ich ziehe meine Frage zurück. Bestimmte Leute sind es einfach nicht wert, sich mit ihnen zu beschäftigen. 👎



  • OMG ich ziehe mein voriges Posting zurück! Die "tolower/toupper" Version ist 100x klarer und übersichtlicher und überhaupt.

    Ich hatte an stricmp aus der clib gedacht, aber nicht bedacht dass hier strstr gefragt ist, und es leider kein stristr gibt.

    Plotzenhotz, du Doofsack, lies erstmal die verlinkten Dokumente bevor du deinen Senf dazugibst!

    Soviel dazu. Bitte um Entschuldigung!



  • Sorry, wenn ich hier auch meinen Senf dazugebe, aber: Magazin: Stringverarbeitung in C++ - Kapitel 5.


Anmelden zum Antworten