3.14159 3.14159Е0 0. 0e0 .001
По умолчанию литералы с плавающей запятой имеют тип double
. Используя представленные в табл. 2.2 суффиксы, тип умолчанию можно переопределить.
Символ, заключенный в одинарные кавычки, является литералом типа char
. Несколько символов, заключенных в парные кавычки, являются строковым литералом:
'a' // символьный литерал
"Hello World!" // строковый литерал
Типом строкового литерала является массив константных символов. Этот тип обсуждается в разделе 3.5.4. К каждому строковому литералу компилятор добавляет нулевой символ (null character) ('\0'
). Таким образом, реальная величина строкового литерала на единицу больше его видимого размера. Например, литерал 'A'
представляет один символ А, тогда как строковый литерал "А"
представляет массив из двух символов, символа А и нулевого символа.
Два строковых литерала, разделенных пробелами, табуляцией или символом новой строки, конкатенируются в единый литерал. Такую форму литерала используют, если необходимо написать слишком длинный текст, который неудобно располагать в одной строке.
// многострочный литерал
std::cout << "a really, really long string literal "
"that spans two lines" << std::endl;
У некоторых символов, таких как возврат на один символ или управляющий символ, нет видимого изображения. Такие символы называют непечатаемыми (nonprintable character). Другие символы (одиночные и парные кавычки, вопросительный знак и наклонная черта влево) имеют в языке специальное назначение. В программах нельзя использовать ни один из этих символов непосредственно. Для их представления как символов используется управляющая последовательность (escape sequence), начинающаяся с символа наклонной черты влево.
В языке С++ определены следующие управляющие последовательности.
Новая строка (newline) |
\n
|
Горизонтальная табуляция (horizontal tab) |
\t
|
Оповещение, звонок (alert) |
\a
|
Вертикальная табуляция (vertical tab) |
\v
|
Возврат на один символ (backspace) |
\b
|
Двойная кавычка (double quote) |
\"
|
Наклонная черта влево (backslash) |
\\
|
Вопросительный знак (question mark) |
\?
|
Одинарная кавычка (single quote) |
\'
|
Возврат каретки (carriage return) |
\r
|
Прогон страницы (formfeed) |
\f
|
Управляющую последовательность используют как единый символ:
std::cout << '\n'; // отобразить новую строку
std::cout << "\tHi!\n"; // отобразить табуляцию,
// текст "Hi!" и новую строка
Можно также написать обобщенную управляющую последовательность, где за \x
следует одна или несколько шестнадцатеричных цифр или за \
следует одна, две или три восьмеричные цифры. Так можно отобразить символ по его числовому значению. Вот несколько примеров (подразумевается использование набора символов Latin-1):
\7
(оповещение) \12
(новая строка) \40
(пробел)
\0
(нулевой символ) \115
(символ 'M'
) \x4d
(символ 'M'
)
Как и управляющие последовательности, определенные языком, такой синтаксис можно использовать вместо любого другого символа: