У цьому підручнику ми дізнаємося про основи перетворення типу C ++ за допомогою прикладів.
C ++ дозволяє перетворювати дані одного типу в дані іншого. Це відоме як перетворення типу.
У C ++ існує два типи перетворення типів.
- Неявна конверсія
- Явне перетворення (також відоме як лиття типів)
Неявне перетворення типу
Перетворення типу, яке виконується автоматично компілятором, відоме як неявне перетворення типу. Цей тип перетворення також відомий як автоматичне перетворення.
Давайте розглянемо два приклади неявного перетворення типу.
Приклад 1: Перетворення з int на double
// Working of implicit type-conversion #include using namespace std; int main() ( // assigning an int value to num_int int num_int = 9; // declaring a double type variable double num_double; // implicit conversion // assigning int value to a double variable num_double = num_int; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )
Вихідні дані
num_int = 9 num_double = 9
У програмі ми призначили int
дані double
змінній.
num_double = num_int;
Тут int
значення автоматично перетворюється double
компілятором, перш ніж воно присвоюється змінній num_double. Це приклад неявного перетворення типу.
Приклад 2: Автоматичне перетворення з подвійного на внутрішнє
//Working of Implicit type-conversion #include using namespace std; int main() ( int num_int; double num_double = 9.99; // implicit conversion // assigning a double value to an int variable num_int = num_double; cout << "num_int = " << num_int << endl; cout << "num_double = " << num_double << endl; return 0; )
Вихідні дані
num_int = 9 num_double = 9,99
У програмі ми призначили double
дані int
змінній.
num_double = num_int;
Тут double
значення автоматично перетворюється int
компілятором, перш ніж воно присвоюється змінній num_int. Це також приклад неявного перетворення типу.
Примітка: Оскільки int
десяткова частина не може містити, цифри після десяткової крапки усічені у наведеному вище прикладі.
Втрата даних під час перетворення (звуження перетворення)
Як ми бачили з наведеного прикладу, перетворення з одного типу даних на інший схильне до втрати даних. Це трапляється, коли дані більшого типу перетворюються на дані меншого типу.

Явне перетворення C ++
Коли користувач вручну змінює дані з одного типу на інший, це називається явним перетворенням . Цей тип перетворення також відомий як лиття типів .
Є три основні способи, за допомогою яких ми можемо використовувати явне перетворення в C ++. Вони є:
- Кастинг типу С (також відомий як нотація акторів )
- Позначення функції (також відоме як старе лиття типу C ++ )
- Оператори перетворення типів
Кастинг типу в стилі С
Як випливає з назви, цей тип виливки сприяє мову програмування . Він також відомий як нотація .
Синтаксис цього стилю:
(data_type)expression;
Наприклад,
// initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = (double)num_int;
Кастинг у стилі функції
Ми також можемо використовувати таку функцію, як позначення, для передачі даних з одного типу на інший.
Синтаксис цього стилю:
data_type(expression);
Наприклад,
// initializing int variable int num_int = 26; // declaring double variable double num_double; // converting from int to double num_double = double(num_int);
Приклад 3: Кастинг типу
#include using namespace std; int main() ( // initializing a double variable double num_double = 3.56; cout << "num_double = " << num_double << endl; // C-style conversion from double to int int num_int1 = (int)num_double; cout << "num_int1 = " << num_int1 << endl; // function-style conversion from double to int int num_int2 = int(num_double); cout << "num_int2 = " << num_int2 << endl; return 0; )
Вихідні дані
num_double = 3,56 num_int1 = 3 num_int2 = 3
Для перетворення типу ми використовували як перетворення типу C, так і лиття у стилі функції та відображали результати. Оскільки вони виконують одне і те ж завдання, обидва дають однакові результати.
Оператори перетворення типів
Окрім цих двох типових виливків, C ++ також має чотири оператори для перетворення типу. Вони відомі як оператори перетворення типів . Вони є:
static_cast
dynamic_cast
const_cast
reinterpret_cast
Ми дізнаємось про ці акторські склади в наступних підручниках.
Рекомендовані навчальні посібники:
- Рядок C ++ до int та навпаки
- Рядок C ++ для плаваючого, подвійного та навпаки