C++ Константы
Константы — это фиксированные значения, которые не изменяются во время выполнения программы. Эти фиксированные значения также называютсялитералами。
Константы могут быть любого базового типа данных и делятся на целые числа, числа с плавающей запятой, символы, строки и логические значения.
Константы похожи на обычные переменные, за исключением того, что значение константы нельзя изменить после определения.
Целочисленные константы
Целочисленные константы могут быть десятичными, восьмеричными или шестнадцатеричными константами. Префикс задаёт основание системы счисления: 0x или 0X указывает на шестнадцатеричную, 0 — на восьмеричную, а отсутствие префикса по умолчанию означает десятичную.
Целочисленные константы также могут иметь суффикс, который представляет собой комбинацию U и L. U означает беззнаковое целое, а L — длинное целое. Суффикс может быть в верхнем или нижнем регистре, а порядок U и L произвольный.
Ниже приведены некоторые примеры целочисленных констант:
Ниже приведены примеры целочисленных констант различных типов:
Константы с плавающей точкой
Константы с плавающей точкой состоят из целой части, десятичной точки, дробной части и экспоненциальной части. Для представления констант с плавающей точкой можно использовать десятичную или экспоненциальную форму.
При использовании десятичной формы нужно указать целую часть, дробную часть или обе. При использовании экспоненциальной формы нужно указать десятичную точку, экспоненту или обе. Экспонента со знаком вводится с помощью e или E.
Ниже приведены некоторые примеры констант с плавающей точкой:
Логические константы
Существует две логические константы, обе из которых являются стандартными ключевыми словами C++:
- trueЗначение представляет истину.
- falseЗначение представляет ложь.
Не следует рассматривать значение true как 1 или значение false как 0.
Символьные константы
Символьные константы заключаются в одинарные кавычки. Если константа начинается с L (только в верхнем регистре), это указывает, что она является широкой символьной константой (например, L'x'), и она должна храниться в переменной типаwchar_t. В противном случае это узкая символьная константа (например, 'x'), и она может храниться вcharв простой переменной этого типа.
Символьная константа может быть обычным символом (например, 'x'), escape-последовательностью (например, '\t') или универсальным символом (например, '\u02C0').
В C++ некоторые конкретные символы имеют особое значение, если перед ними стоит обратная косая черта, и используются для представления таких вещей, как новая строка (\n) или табуляция (\t). В следующей таблице перечислены некоторые из этих escape-последовательностей:
| Escape-последовательности | Значение |
|---|---|
| \\ | Символ \ |
| \' | Символ ' |
| \" | Символ " |
| \? | символ ? |
| \a | Звуковой сигнал |
| \b | Возврат на один символ |
| \f | Подача страницы |
| \n | Перевод строки |
| \r | Возврат каретки |
| \t | Горизонтальная табуляция |
| \v | Вертикальная табуляция |
| \ooo | Восьмеричные числа от одной до трёх цифр |
| \xhh . . . | Шестнадцатеричные числа с одной или несколькими цифрами |
В следующем примере показаны некоторые символы escape-последовательностей:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
Hello World
Строковые константы
Строковые литералы или константы заключаются в двойные кавычки""Строка содержит символы, подобные символьным константам: обычные символы, escape-последовательности и универсальные символы.
Вы можете использовать\в качестве разделителей, чтобы разбить очень длинную строковую константу на несколько строк.
В следующем примере показаны некоторые строковые константы:
Пример
#include <string>
using namespace std;
int main() {
string greeting = "hello, example";
cout << greeting;
cout << "\n"; // новая строка
string greeting2 = "hello, \
example";
cout << greeting2;
return 0;
}
hello, example hello, example
Определение констант
В C++ есть два простых способа определения констант:
- Использование#defineПрепроцессор.
- ИспользованиеconstКлючевое слово.
#define препроцессор
Ниже приведена форма определения константы с помощью препроцессора #define:
#define identifier value
Подробнее см. в примерах ниже:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
50
ключевое слово const
Вы можете использоватьconstПрефиксное объявление задаёт константу определённого типа, как показано ниже:
const type variable = value;
Подробнее см. в примерах ниже:
Пример
Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:
50
Обратите внимание, что определение констант заглавными буквами — хорошая практика программирования.
Другие расширения