deninok писал(а): ↑11.12.2007 21:39
(v04bvs) писал(а):А как же staic_cast, const_cast, dynamic_cast, reinterpret_cast, boost::lexical_cast ? И вообще имхо C-приведение не рекомендовано. Не знаю почему правда

Приведение в стиле С не рекомендовано хотя бы потому, что его в исходном тексте гораздо труднее искать, нежели приведение в стиле С++. И потом в С была одна форма приведения на все случаи жизни, а в С++ приведения разбиты по группам, что логичнее и понятнее, на мой взгляд.
По-моему самым логичным и понятным является джавовский подход

Но это конечно не zero-overhead, да

Аргумент про поиск в исходном тексте я знаю, но не принимаю. Зачем там что то искать? Может унарный минус тоже оформим как-нибудь вроде static_minus<double>

Я подумал - это хорошо подходит например потому что можно свои касты выдумать, и они будут органично сливаться с существующими, вроде my_cast<double>( static_cast<float>(x) ). Учитывая маниакальное пристрастие тов. Страуструпа перегружать всё и вся, это выглядит, имхо, правдоподобно.