Преобразование типов в C ++
Опубликовано: 3 Декабря, 2021
Приведение типа - это в основном преобразование одного типа в другой. Есть два типа преобразования типов:
- Неявное преобразование типов Также известно как «автоматическое преобразование типов».
- Выполняется компилятором самостоятельно, без какого-либо внешнего триггера со стороны пользователя.
- Обычно имеет место, когда в выражении присутствует более одного типа данных. В таком состоянии происходит преобразование типа (продвижение типа), чтобы избежать потери данных.
- Все типы данных переменных обновляются до типа данных переменной с наибольшим типом данных.
bool -> char -> short int -> int -> беззнаковое int -> длинное -> беззнаковое -> long long -> float -> double -> long double
- Неявные преобразования могут потерять информацию, знаки могут быть потеряны (когда signed неявно преобразуется в unsigned), и может произойти переполнение (когда long long неявно преобразуется в float).
Пример неявного преобразования типа:
// An example of implicit conversion#include <iostream>usingnamespacestd;intmain(){intx = 10;// integer xchary ='a';// character c// y implicitly converted to int. ASCII// value of 'a' is 97x = x + y;// x is implicitly converted to floatfloatz = x + 1.0;cout <<"x = "<< x << endl<<"y = "<< y << endl<<"z = "<< z << endl;return0;}Выход:х = 107 у = а г = 108
- Явное преобразование типа : этот процесс также называется приведением типа и определяется пользователем. Здесь пользователь может привести результат к определенному типу данных.
В C ++ это можно сделать двумя способами:
- Преобразование путем присваивания: это делается путем явного определения требуемого типа перед выражением в скобках. Это также можно рассматривать как принудительное забросание.
Синтаксис:
(тип) выражение
где type указывает тип данных, в который преобразуется окончательный результат.
Пример:
// C++ program to demonstrate// explicit type casting#include <iostream>usingnamespacestd;intmain(){doublex = 1.2;// Explicit conversion from double to intintsum = (int)x + 1;cout <<"Sum = "<< sum;return0;}Выход:Сумма = 2
- Преобразование с использованием оператора Cast: оператор Cast - это унарный оператор, который заставляет один тип данных преобразовываться в другой тип данных.
C ++ поддерживает четыре типа приведения типов:- Статическая трансляция
- Dynamic Cast
- Const Cast
- Переосмыслить актерский состав
Пример:
#include <iostream>usingnamespacestd;intmain(){floatf = 3.5;// using cast operatorintb =static_cast<int>(f);cout << b;}Выход:3
- Преобразование путем присваивания: это делается путем явного определения требуемого типа перед выражением в скобках. Это также можно рассматривать как принудительное забросание.
Преимущества преобразования типов:
- Это делается для того, чтобы воспользоваться преимуществами определенных функций иерархий типов или представлений типов.
- Это помогает вычислять выражения, содержащие переменные разных типов данных.
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .