
++98 has two native character types:
char and
wchar_t. The latter is purportedly used for manipulating Unicode strings. In reality however,
wchar_t is unsuitable for this purpose. The C++09 standard is about to solve this problem by adding two new character datatypes that will enable you to use Unicode portably and easily. Learn how to create Unicode literal characters and strings and how to detect whether your implementation supports UTF-16 and UTF-32.

You want to manipulate Unicode strings and characters in C++, but wchar_t and its related facilities such as wstring and wcout just don't cut it.

Familiarize yourself with the new _Char16_t and _Char32_t native datatypes and their related Standard Library facilities.