title: reinterpret_cast of an object
body: <p>Taking this struct:</p>
  
  <pre><code>struct Foo
  {
      float m_foo;
      // no other member
  };
  
  // A Foo object.
  Foo f;
  </code></pre>
  
  <p>Which is more costly?</p>
  
  <pre><code>float result = std::sin(f.m_foo);
  </code></pre>
  
  <p>or</p>
  
  <pre><code>float result = std::sin(*(reinterpret_cast&lt;float*&gt;(&amp;f)));
  // f can be interpreted like float in this case
  </code></pre>
  
  <p>I think the second case is faster, but i don't have sure because i don't know how the compiler will handle it. What you can tell me about it?</p>