Em C ++, quais são as diferenças entre static_cast <double> (a) e double (a)?

Quais são as diferenças entre

<code>int a;
// a gets some value
double pi = static_cast<double>(a)/3;
</code>

e

<code>int a;
// a gets some value
double pi = double(a)/3;
</code>

Você já viu o último? Parece-me que vi em algum trecho escrito por Stroustrup, mas não consigo encontrar a referência.

questionAnswers(4)

yourAnswerToTheQuestion