Текст програми C ++ зберігається у вихідних файлах, які використовують певну систему кодування символів. Стандарт C ++ вказує основну кодування вихідного коду для вихідних файлів і основну кодування виконання для скомпільованих файлів. Visual C ++ дозволяє використовувати додатковий набір символів, що визначаються мовним стандартом, у вихідних і скомпільованих файлах.
Стандарт C ++ вказує основну кодування вихідного коду. яка може використовуватися в початкових файлах. Для представлення символів поза цього набору можна вказувати додаткові символи, використовуючи універсальні імена символів. При компіляції основна кодування виконання і набір розширених символів виконання представляють символи і рядки, які можуть бути присутніми в програмі. Реалізація Visual C ++ допускає використання додаткових символів у вихідному і скомпільованому коді.
Основна кодування вихідного коду
Основна кодування вихідного коду складається з 96 символів, які можуть використовуватися в початкових файлах. Цей набір включає символ пробілу, горизонтальної та вертикальної табуляції, керуючі символи перекладу сторінки і нового рядка, а також наступний набір графічних символів:
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
Блок, що відноситься тільки до систем Microsoft
Універсальні імена символів
Оскільки програми на C ++ можуть використовувати набагато більше символів, ніж зазначено в основний кодуванні вихідного коду, можна вказати ці символи в переносимому вигляді, використовуючи універсальні імена символів. Універсальне ім'я складається з послідовності символів, що представляють кодову точку Юникода. Воно може мати дві форми. Використовуйте \ UNNNNNNNN для подання кодової точки Юникода в формі U + NNNNNNNN, де NNNNNNNN - шістнадцятковий номер кодової точки з восьми цифр. Використовуйте код \ uNNNN з чотирьох цифр для подання кодової точки Юникода в формі U + 0000NNNN.
Універсальні імена символів можна використовувати в ідентифікаторах і в строкових і символьних літералах. Універсальне ім'я не можна використовувати для подання сурогатної кодової точки в діапазоні від 0xD800 до 0xDFFF. Замість цього використовуйте потрібну кодову точку: компілятор автоматично створює всі необхідні сурогати. До універсальних імен символів, які можуть використовуватися в ідентифікаторах, застосовуються додаткові обмеження. Додаткові відомості див. У розділах Ідентифікатори C ++ і Строкові і символьні літерали.
Блок, що відноситься тільки до систем Microsoft
Компілятор Visual C ++ трактує символ у формі універсального імені символу і в формі литерала як взаємозамінні. Наприклад, можна оголосити ідентифікатор, використовуючи форму універсального імені символу, і використовувати його в формі литерала: