Exe-шнік написав:Вибачте, deskription я китайську не розумію
e.g. \U0001f34c
\xF0\x9F\x8D\x8C
\uD83C\uDF4C
що воно за хрінь?
 \U0001f34c - це universal character name
\xF0\x9F\x8D\x8C - це arbitrary hexadecimal value
\uD83C\uDF4C - це теж universal character name
universal character name - це представлення символів за межами 
основного (стандартного) набору символів.
Стандарт C++ визначає універсальні імена символів, написані як 
"\unnnn" і "\Unnnnnnnn", та представляє символи з юнікодівськими
кодовими точками nnnn/nnnnnnnn (де n якесь hex число).
Це корисно для рядкових літералів, тим більше, що літерали
UTF-8, UTF-16 і UCS-4 є явно визначеними. 
Однак universal character literals (той же символ банану \U0001f34) 
також дозволені в ідентифікаторах*.
*ідентифікатор в С++ - це довільно довга послідовність цифр, 
символів підкреслення, малих та великих латинських букв, 
а також більшості символів Unicode.
Для чого це було потрібно? Ну, наприклад:
Програми C++ можуть викликати функції, написані іншими мовами. 
Це хороша стратегія з боку комітету зі стандартизації, щоб гарантувати, 
що C++ буде сумісним з іншими мовами, які можуть дозволяти 
не алфавітно-цифрові символи або символи юнікоду в іменах функцій, 
навіть якщо такі мови ще не існують. Стандарт не повинен вказувати, 
як це буде працювати на рівні лінкера тощо; 
але це добре, що є деякий визначений механізм, який дозволяє це.
Щодо arbitrary hexadecimal value або "\xnn", де nn - це просто 
послідовність шістнадцяткових цифр, які означають символ з ASCII-кодом nn.