C++ Standard-Library mit und ohne Unicode
-
Ich bin gerade an einer etwas größeren C++ Anwendung, hab gerade den Konstruktur einer Klasse geschrieben, die eine Referenz auf std::string übernimmt und weiß, gleich wird das zu Problemen führen, weil ich mit Unicode kompiliere (Visual Studio 2005). Gibt es Headerdateien für die Standard-Lib, die wie bei der WinAPI die die Klassen als "normale" oder Unicode-Version definieren?
D.h.
#define std::string std::string
...wenn ich ohne Unicode kompiliere, und
#define std::string std::wstring
wenn ich mit unicode kompiliere.Bietet Visual Studio so etwas an? Sonst werde ich wohl standardmäßig auf Unicode setzen und verwende auch wieder das einfacher zu schreibende L, anstatt T().
-
Wie wärs damit:
#ifdef _UNICODE typedef tstring std::string; #else typedef tstring std::wstring; #endif
-
Das wäre schon eine Möglichkeit!
-
besser
typedef std::basic_string<TCHAR> tstring;