Ich möchte einen Zeichenfolgenvergleich in C ++ implementieren, der Zeichenfolgen mit einem "%" Zeichen vergleicht.
Ich könnte es so machen:
%Vor% Da ich dies in einer Schleife über viele Strings mache, frage ich mich, ob es eine Methode ohne zwei unterschiedliche String-Traversals für find
und equal
gibt (vielleicht mit einem Prädikat, das den Vergleich an irgendeiner Stelle abbrechen kann) . Boost ist in Ordnung.
Sie können std::mismatch
ausprobieren. Der folgende Code wird mit C ++ 14 ausgeführt (erfordert die Template-Überladung mit zwei Iteratorpaaren), funktioniert aber in C ++ 11 (oder 03, ohne lambdas) sehr ähnlich:
Demo .
Tags und Links c++ stl boost string-comparison