title: Inline member operators vs inline operators C++
body: <p>If I have two structs:</p>
  
  <pre><code>struct A
  {
      float x, y;
      inline A operator*(A b) 
      {
          A out;
          out.x = x * b.x;
          out.y = y * b.y;
          return out;
      } 
  }
  </code></pre>
  
  <p>And an equivalent struct</p>
  
  <pre><code>struct B
  {
      float x, y;
  }
  
  inline B operator*(B a, B b) 
  {
      B out;
      out.x = a.x * b.x;
      out.y = a.y * b.y;
      return out;
  } 
  </code></pre>
  
  <p>Would you know of any reason for B's operator* to compile any differently, or run any slower or faster than A's operator* (the actual actions that go on inside the functions should be irrelevant)?</p>
  
  <p>What I mean is... would declaring the inline operator as a member, vs not as a member, have any generic effect on the speed of the actual function, whatsoever?</p>
  
  <p>I've got a number of different structs that currently follow the inline member operator style... But I was wanting to modify it to be valid C code, instead; so before I do that I wanted to know if there would be any changes to performance/compilation.</p>