Літерали

Літерали (literals) — це постійні значення, такі як 1 або 3.14159. Для кожного власного типу C++ існують літерали, включаючи символьний і булевий типи, цілі, числа з плаваючою точкою і покажчики. Можливі строкові літерали. Ось деякі приклади літералів :

5 //ціла константа

5u //і або U означає unsigned (беззнакова)

5L // I або L означає long (довга)

05 //ціла константа у вісімковому виді

0x5 //ціла константа в шістнадцятковому виді

true //булева константа

5.0 //константа з плаваючою точкою, що трактувала як double

5.0F //f або F — з плаваючою точкою

//зазвичай одинарній точності

5.0L //I або L означає довгу константу

//з подвійною точністю

'5' //символьна константа, символ з номером ASCII 53

' \n' //цей символ починає новий рядок

L'XYZ' //wchar_t символ XYZ .

"5" //рядок, що складається з символу '5'

"рядок і символ переходу на новий рядок \n"

5555555555555555 //ціле, занадто велике

//для більшості машин

Символьні літерали зазвичай даються у виді 'символ' Наприклад:

'А' //прописна буква А, номер АSСII 65

'а' //рядкова буква а, номер АSСII 97

'\0' //нульовий символ — символ кінця рядка

'+' //символ оператора складання (+)

Для деяких недрукованих і спеціальних символів потрібно еsсаре -последо- вательность.

Символьні константи

'\а ' звуковий сигнал (alert)
' \\ ' обернена коса риска (backslash)
' \b ' повернення на крок (backspace)
'\r ' повернення каретки (carriage return)
' \" ' подвійні лапки (double quote)
' \f ' прогін листа (formfeed)
' \t' табуляція (tab)
' \n' переклад рядка (newline)
' \0' нульовий символ (null character)
' \' ' апостроф (single quote)
' \v ' вертикальая табуляція (vertical tab)
' \101' вісімковий ASCII -код 'А'
' \x041' шістнадцятковий ASCII -код 'А'
L 'оор' wchar_t константа

Строковий літерал зберігається в пам'яті як послідовність символів, що закінчується символом зі значенням 0. Строкові літерали — це static char [ ] константи. Спеціальні символи усередині рядка повинні упереджатися символом оберненої косої риски \.

"а" //два байти для зберігання 'а' і '\0'

"a\tb\n" //п'ять байтів 'а' '\ t' ' b' '\n' '\0'

"1 \\" //чотири байти '1' ' ' '\\' \0'

"\" " //два байти ' " '\0'

" " //один байт для зберігання ' \0 ', порожній рядок

При виведенні цих рядків символи, що управляють, поводяться відповідним чином. Так, другий рядок з наведеного прикладу надрукує символ а, потім — декілька пропусків, що визначається знаком табуляції, потім символ b і перехід на новий рядок.

Строкові літерали, розділені тільки порожнім місцем, розуміються як один рядок.

"Це один рядок,"

"Оскільки вона розділена тільки "

"пропусками і переводом рядка".

Літерали з плаваючою точкою можуть записуватися з експоненціальною частиною (що включає, якщо потрібно, знак) або без такої:

3.14f 1.234F //константи з плаваючою точкою
  //і одинарною точністю
0.1234567 //з подвійною точністю
0.123456789L //довга з подвійною точністю
3. 3.0 0.ЗЕ1 //усе це 3.0 з подвійною точністю
300е-2 //теж 3.0