title: Is it possible to completely avoid C-style casts in C++?
body: <p>I do not believe that it is possible to completely avoid C-style casts when writing C++. I was surprised to <a href="https://stackoverflow.com/questions/4219160/avoiding-truncation-warnings-from-my-c-compiler-when-initializing-signed-values">find out</a> that I needed to use a C-style cast to avoid a compiler truncation warning:</p>
  
  <pre><code>short value_a = 0xF00D;                     // Truncation warning in VS2008
  short value_b = static_cast&lt;short&gt;(0xF00D); // Truncation warning in VS2008
  short value_c = (short)0xF00D;              // No warning!
  </code></pre>
  
  <p>Are there other scenarios where there is no C++-style substitute for a C-style cast?</p>