Was ist mit C ++ wchar_t und wstrings "falsch"? Was sind einige Alternativen zu breiten Zeichen?

Ich habe eine Menge Leute gesehen, die in der C++ community(besonders ##c++ auf freenode) ärgern sich über die Nutzung von wstrings und wchar_t und Ihre Anwendung in der windows-api. Was genau ist "falsch" mit wchar_t und wstring, und wenn ich will, um die Internationalisierung zu unterstützen, was sind einige alternativen zu wide-Zeichen?

Kommentar zu dem Problem
Haben die irgendwelche Referenzen? Kommentarautor: Dani
Vielleicht ist diese awesome thread werden alle Ihre Fragen beantworten? stackoverflow.com/questions/402283/stdwstring-vs-stdstring Kommentarautor: MrFox
Auf Windows -, Sie haben nicht wirklich eine Wahl. Seine internen APIs wurden entwickelt für UCS-2, was vernünftig war zu der Zeit, da war es vor der variable-length-UTF-8 und UTF-16-Codierungen wurden standardisiert. Aber jetzt, mit Unterstützung UTF-16, hab Sie endete mit dem schlechtesten aus beiden Welten. Kommentarautor: jamesdlin
utf8everywhere.org hat eine gute Erläuterung der Gründe zu vermeiden wide-Zeichen. Kommentarautor: Joe Gauterin
@jamesdlin Sicherlich haben Sie die Wahl. nowide Bibliothek bietet eine bequeme Möglichkeit zum umwandeln von strings nur bei der übergabe an den APIs. API-Aufrufe mit Saiten sind in der Regel low-Frequenz, also der angemessene Weg ist, um konvertieren ad-hok und Dateien und interne Variablen in UTF-8 die ganze Zeit. Kommentarautor: Pavel Radzivilovsky

InformationsquelleAutor der Frage Ken Li | 2012-06-19

Schreibe einen Kommentar