title: What does operator float*() do?
body: <p>I have been looking through source code trying to learn more about C++ and I came across some code that looked confusing. I haven't been able to figure out its use by playing around with it. </p>
  
  <p>Please can someone explain what the operator float *() does and how it is used?</p>
  
  <p><pre>
  class Vector
  {
  public:
      float x,y,z;</p>
  
  <code>    Vector() : x(0), y(0), z(0){
      }
  
      Vector( float x, float y, float z ) : x(x), y(y), z(z){
      }
  
      operator float*(){
          return &amp;x;
      }
  
      operator const float *(){
          return &amp;x;
      }
  </code></pre>
  
  <p></p>
  
  <p>I have searched StackOverflow and it looks like it is a conversion operator but I am still unsure what it actually does and why it is useful.</p>
  
  <p>Kind regards,</p>