int64_t a = 1234;
double d = (double) a;
Is this the recommended way?
For POD types both versions do the same thing. Choose the one you prefer and be consistent.
I know many people who prefer the former for typing/readability and I tend to agree with this but I can live with either.
I've heard the "easy to grep for" argument many times but have yet to ever come across a situation where I've needed to grep my codebase for POD casts.