I'm in the habit of doing 1. to coerce the code below into a floating point calculation but it just occurred to me: is there any difference in behaviour with 2.? It certainly looks less neater.
long blah = 3;
// 1
double d1 = 1 / static_cast<double>(blah);
// 2 note: not C-style (double) blah
double d2 = 1 / double(blah);