Aus vielen Gründen (geringe Leistung, hoher Ressourcenverbrauch, große gemeinsame Bibliotheksgröße, große ausführbare Dateien und unsere Low-End-Plattform) erwägt mein Team, aus Qt auszuwandern. Als Teil davon suchen wir nach einer Ersetzung der QString-Klasse, die a) Unicode b) reguläre Ausdrücke c) allgemeine Operationen wie Teilstrings, Teilstringsuche, Länge (Anzahl der Zeichen, nicht Bytes), Verkettung usw. ermöglichen würde. Auch sollte es Zeichenfolgen intern in UTF-8-Codierung speichern, um Speicher zu sparen (Qt verwendet UTF-16 oder ähnliches). Auch wäre es toll, wenn es "Implizite Sharing" -Technik verwenden würde, wie QString tut. Gibt es eine LGPL (oder ähnliche) ready-to-use Klasse der Art im Universum? ...Was wäre ein QString-Ersatz?
3
A
Antwort
0
Vielleicht möchten Sie einen Blick auf meine Bibliothek plis werfen, die alles, was Sie oben gefragt, außer implizit teilen. Siehe:
1
ich nur std :: string mit Boost String Algorithms und UTF-8 CPP
Verwandte Themen
- 1. Was wäre ein gutes Datamodel, um ein Datamodell zu beschreiben?
- 2. Wäre ein OnSharedPreferenceChangeListener ein Leck?
- 3. Was wäre ein gutes VCS-Repository zum Lesen/Helfen?
- 4. Was wäre ein gutes Idiom in Asciidoc für mehrere Übersetzungen?
- 5. Was wäre ein Beispiel für eine anaphorische Bedingung in Lisp?
- 6. Was wäre ein Äquivalent von Nunits Assert. Das in Xunit?
- 7. Was wäre ein guter Delphi Lexer/Parser für Javascript Sprachdatei?
- 8. Was wäre ein besserer Name für Javascript "this"?
- 9. Was wäre ein guter Ersatz für C++ Vektor in C#?
- 10. Was wäre der beste Weg, ein IReliableDictionary zu suchen?
- 11. Was wäre die SQL-Abfrage dafür?
- 12. Was wäre das Gegenteil von "git fetch"?
- 13. Was wäre die richtige SELECT-Anweisung dafür?
- 14. Was wäre die zeitliche Komplexität und warum?
- 15. Wann wäre ein informativer __repr__ gefährlich?
- 16. Was wäre ein guter Variablenname für ein Rechteck, beschreibt die Position und Größe eines Objekts?
- 17. Was wäre ein guter Weg, um Silverlight-Anwendungen ein Hilfesystem hinzuzufügen?
- 18. Was wäre ein sinnvoller Weg, ein Trie in .NET zu implementieren?
- 19. Wann wäre ein Ruby-Flipflop nützlich?
- 20. Wäre ein Cloud-basierter Compiler machbar?
- 21. Wäre dies ein einigermaßen sicheres Passwort-System?
- 22. Was wäre eine gute Datenstruktur für UITableView im gruppierten Modus
- 23. Was wäre eine gute Browser-unabhängige JavaScript-Programmierumgebung?
- 24. Was wäre die richtige MVVM-Architektur für einen UICollectionViewController
- 25. Was wäre eine bessere Strategie für IBActions in Swift-Protokollen?
- 26. Was wäre der beste Weg, um Datensätze in SQL
- 27. Was wäre der beste Weg, dies zu tun Async
- 28. Was wäre eine gute Benennungsrichtlinie für das asynchrone Programmiermodell?
- 29. Was wäre möglicherweise falsch mit der folgenden Entscheidungstabelle?
- 30. Mysql unterstützt hier keine einzeiligen Kommentare. Was wäre der Grund?
regex Abgleich mit UTF-8 verwenden würde, ist nicht genau geht die Leistung zu verbessern. Bei den Kodierungen mit fester Länge wie 'QChar' entspricht die Regex' .' einem "QChar". Mit UTF-8 kann '.' irgendwo zwischen 1 und 4 Bytes abgleichen. Das hört sich jetzt nicht so schlecht an, erschwert aber das Backtracking erheblich. I.e. Wenn Sie '(a.a) | (a.b)' mit Eingabe 'aΣb' abgleichen, müssen Sie ein Zeichen zurückverfolgen, aber wie viele Bytes waren das noch? – MSalters