title: Why can some operators only be overloaded as member functions, other as friend functions and the rest of them as both?
body: <p>Why can some operators only be overloaded as member functions, other as non-member "free" functions and the rest of them as both?</p>
  
  <p>What is the rationale behind those?</p>
  
  <p>How to remember which operators can be overloaded as what (member, free, or both)?</p>