Литералы - это фиксированные значения, которые напрямую представлены в коде программы. Они не требуют вычислений и используются для присваивания значений переменным или в выражениях.

Основные типы литералов

1. Целочисленные литералы

int decimalLiteral = 42;       // десятичный
int octalLiteral = 052;        // восьмеричный (начинается с 0)
int hexadecimalLiteral = 0x2A; // шестнадцатеричный (начинается с 0x)
int binaryLiteral = 0b101010;  // двоичный (C++14, начинается с 0b)

2. Литералы с плавающей точкой

float f = 3.14f;   // суффикс f для float
double d = 3.14;    // по умолчанию double
long double ld = 3.14L; // суффикс L для long double

3. Символьные литералы

char c = 'A';    // одиночный символ
char newline = '\n'; // escape-последовательность

4. Строковые литералы

const char* str = "Hello, World!";

5. Логические литералы

bool t = true;
bool f = false;

Суффиксы литералов

СуффиксТип
u or Uunsigned int
l or Llong
ul or ULunsigned long
ll or LLlong long
ull or ULLunsigned long long
f or Ffloat
l or Llong double

Пользовательские литералы (C++11)

C++11 ввел возможность определять пользовательские литералы:


// Определение пользовательского литерала для километров
constexpr long double operator"" _km(long double x) {
    return x * 1000.0; // преобразование в метры
}

// Использование
auto distance = 5.5_km; // distance будет 5500 метров

Заключение

Литералы - важная часть языка C++, позволяющая напрямую представлять значения в коде. Правильное использование литералов и понимание их типов помогает писать более читаемый и эффективный код.

Перейти к следующему уроку →