title: In C++, what are the differences between static_cast<double>(a) and double(a)?
body: <p>What are the differences between</p>
  
  <pre><code>int a;
  // a gets some value
  double pi = static_cast&lt;double&gt;(a)/3;
  </code></pre>
  
  <p>and </p>
  
  <pre><code>int a;
  // a gets some value
  double pi = double(a)/3;
  </code></pre>
  
  <p>Have you ever seen the latter? It seems to me I saw it in some snippet written by Stroustrup but I can't find the reference.</p>