Menu
CoddyTech

Приведение типов. Часть 1

Часть раздела Основы путешествия по C++ на Coddy. Урок 14 из 74.

Преобразование типов — это процесс преобразования значения из одного типа данных в другой.

В C++ мы можем преобразовывать целые числа в числа с плавающей точкой, числа с плавающей точкой — в целые числа и так далее. Существует два типа приведения типов: неявное (автоматическое) и явное (ручное).

Например, Integer to Double:

Неявное (автоматическое) приведение типов:

int number = 5;
double decimal = number; // автоматически становится 5.0

// с вычислением
int x = 7;
double result = x / 2.0; // result равно 3.5

Примечание: При делении двух значений int в C++ выполняется целочисленное деление: десятичная часть отбрасывается. Например, 7 / 2 дает 3, а не 3.5. Чтобы получить результат с десятичной частью, как минимум один операнд должен быть типа double (например, 7 / 2.0 дает 3.5).

Явное (ручное) приведение типа Double to Integer:

double decimal = 9.7;
int number = (int) decimal;  // становится 9 (дробная часть отбрасывается)

// с вычислением
double price = 19.99;
int roundedPrice = (int) price;  // становится 19

Предпочтительный современный стиль C++: Вместо приведения типа в стиле C (int) decimal лучше использовать static_cast<>(): это безопаснее и яснее выражает ваше намерение:

double decimal = 9.7;
int number = static_cast<int>(decimal);  // становится 9 (дробная часть отбрасывается)

double price = 19.99;
int roundedPrice = static_cast<int>(price);  // становится 19

Примечание: И (int) value, и static_cast<int>(value) здесь дают одинаковый результат, но в современном C++ рекомендуется использовать static_cast<>(), поскольку так преобразование становится наглядным и проверяется компилятором.

challenge icon

Задание

Новичок

Напиши программу на C++, демонстрирующую преобразование типов. Выполни следующие действия:

Преобразуй переменную price в тип int и сохрани результат в новой переменной с именем intPrice.

Попробуйте сами

    int intPrice = ?; // Явное приведение типа double к int
    
    
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор C++