Zdaję sobie sprawę, że różne podmioty odlewania w C++ zostały już omówione tutaj wiele razy, ale moje pytanie brzmi konkretnie o wylewanej między typów liczbowych, a nie o ogólnych różnic między C styl i C++ operatorzy stylu. Uważam to za zupełnie inny temat niż rzucanie w hierarchii klasowej.C++ odlewania pomiędzy typami numerycznymi
że chcę oddać int i
do podwójne, niektóre opcje mam są
static_cast<double>(i)
(double) i
double(i)
Osobiście preferuję styl konstruktora-like w 3 linii w tym przypadku, ponieważ chciałbym wyrazić że nie jest to rodzaj klasy, w którym na pewno będę używał static_cast
lub dynamic_cast
.
Z wyjątkiem tego, że trudno jest znaleźć ten typ obsady podczas wyszukiwania w edytorze tekstu, czy są jakieś wady z mojego wyboru?
Jaki jest kontekst? Dlaczego musisz rzucać? –
@Karoly Horvath: Dobre pytanie, zawsze staram się unikać rzutów, ale typowe przypadki, w których to robię, są zawarte w obliczeniach lub podczas przekazywania argumentów funkcji. –
"Trudno znaleźć ten typ obsady" jest wystarczającym powodem, aby nigdy z niego nie korzystać. –