C++11 では、新しい文字列リテラル プレフィックスのセットが導入されています (さらに、ユーザー定義のサフィックスも使用できます)。さらに、Unicode エスケープ シーケンスを直接使用して、エンコーディングを気にせずに特定のシンボルをコーディングできます。
const char16_t* s16 = u"\u00DA";
const char32_t* s32 = U"\u00DA";
wchar_t
しかし、文字列リテラルでもUnicode エスケープ シーケンスを使用できますか? これができないとしたら、それは欠陥のように思われます。
const wchar_t* sw = L"\u00DA";
の整数値はsw[0]
もちろん、特定のプラットフォームにあるものに依存しwchar_t
ますが、他のすべての効果に対して、これは移植可能であるはずですよね?