Да, я знаю, что вам не следует использовать приведение типов в стиле 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?