5. Typy złożone

5.6. Rzutowanie w stylu C

Aby uniknąć sytuacji analogicznej do opisanej, musimy jawnie wskazać, że choć jeden z argumentów jest typu double. Można to zrobić pisząc np. 1.0 zamiast 1. Można też wymusić rzutowanie w stylu C, podając przed argumentem w nawiasach typ, na jaki zmienna ma zostać przekształcona:


double x = (double)1/2;

Jednak rzutowanie takie nie jest zgodne pod względem składni z filozofią języka C++. Bardziej eleganckie jest rzutowanie w stylu inicjacji:


double x = double(1)/2;

ale i w takim przypadku wymuszamy na kompilatorze naszą decyzję, nie stosując mechanizmów ochronnych C++.