Некоторые символы, например, одиночные или двойные кавычки, имеют в С++ определенное значение, и их нельзя использовать непосредственно в качестве символьных констант. Для таких случаев в С++ предусмотрено специальное средство — управляющие, или Esc-последовательности, которые иногда называют символьными константами с обратным слешем; эти константы перечислены в табл. 2-3.
Таблица 2-3. Символьные Esc-последовательности
Код
Значение
\b
Шаг назад
\f
Перевод страницы
\n
Новая строка
\r
Возврат каретки
\t
Горизонтальная табуляция
\”
Двойные кавычки
\'
Символ одиночной кавычки
\\
Обратная косая черта, обратный слеш
\v
Вертикальная табуляция
\а
Звуковой сигнал
\?
?
Название «управляющая последовательность» означает, что символ \ «управляет» интерпретацией следующих за ним символов последовательности. Так, t воспринимается не как символ 't', а как символ табуляции. Символ табуляции означает, что весь поток вывода будет условно разделен на фрагменты одинаковой длины, определяемой шагом табуляции, и следующий символ будет напечатан в начале следующего фрагмента, а не сразу за предыдущим символом. В консольных программах шаг табуляции равен восьми позициям.
Управляющие последовательности можно использовать как в качестве отдельных констант, так и в составе строковых констант. Поскольку при употреблении символьных и строковых констант символ \, а также одинарные и двойные кавычки по-особому интерпретируются компилятором, необходимо с помощью управляющих последовательностей обеспечить способ их включения в символьные и строковые константы в качестве обычных символов. Вот пример реализации вывода на экран строки с кавычками:
cout << "\"Ну все, мы полетели\", сказала она.":
Выводимая на экран строка будет иметь вид
"Ну все, мы полетели", сказала она.
Оператором называется символ, обозначающий для компилятора указание на выполнение определенного математического или логического действия. В С++ предусмотрены четыре основных класса операторов: арифметических, побитовых, отношения и логических. Кроме этого, в С++ имеются несколько дополнительных операторов, которые обслуживают определенные специфические ситуации. В этой главе мы рассмотрим операторы арифметические, отношения и логические. Также будет рассмотрен оператор присваивания. Операторы побитовые и специальные будут описаны позже.