Приведение типов C и удобочитаемость в C ++

Да, я знаю, что вам не следует использовать приведение типов в стиле C в C ++, но в некоторых случаях я действительно думаю, что это будет намного более читаемым, если вы это сделаете, сравните эти два, например:

d = ((double)i * 23.54) / (d + (double)j);

d = (static_cast<double>(i) * 23.54) / (d + static_cast<double>(j));

Какой из них более читабелен?

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

d = (double(i) * 23.54) / (d + double(j));

У меня вопрос, будет ли это менее эффективным? Будет ли компилятор в этом случае создавать больше дубликатов, чем если бы они были преобразованы другими методами, или достаточно умен, чтобы не делать этого? Это более или менее плохо, чем типичное приведение типов в стиле C?

10
задан DaedalusAlpha 9 December 2010 в 15:10
поделиться