logo
ООП для Заоч / Пинчук Лозовская Программир на С

5.4. Перетворення типів

При використанні простих типів операція перетворення типу може записуватися одним із двох еквівалентних способів: (тип)x або тип(x) , де x - вираз, а тип - ім’я типу, до якого виконується перетворення.

C++ допускає запис приведення до будь-якого типу. Відповідальність за правильне використання цієї операції покладена на програміста.

Наведемо приклад, коли запис явного перетворення типу має сенс:

int a=2;

float x=3.5;

a = a + (int)x;

Останній оператор буде виконуватися швидше, у порівнянні з більш простим оператором:

a = a + x;

Це пов’язано з тим, що замість двох операцій перетворення типу (int→float та float→int) виконується тільки одне перетворення виду (float→ int).

Операцію приведення типу доводиться явно записувати, якщо потрібно одержати результат дійсного типу від ділення цілих значень. Наприклад, при виконанні таких рядків програми

int i=3, k=4;

float x;

x = i/k ;

отримаємо значення x = 0. Якщо ж, все-таки потрібно одержати точне значення x = 0.75, другий рядок необхідно записати так:

x = (float)i/(float)k;

або хоча б так:

x = i/(float)k;