title: Why isn't operator overloading for pointers allowed  to work?
body: <p>As per the comment under <a href="https://stackoverflow.com/questions/6167285/may-a-reference-be-more-efficient-than-a-pointer/6167309#6167309">this answer</a>, references were introduced primarily to support operator overloading which quotes Bjarne Stroustrup:</p>
  
  <blockquote>
    <p>References were introduced primarily
    to support operator overloading. C
    passes every function argument by
    value, and where passing an object by
    value would be inefficient or
    inappropriate the user can pass a
    pointer. This strategy doesn’t work
    where operator overloading is used. In
    that case, notational convenience is
    essential so that a user cannot be
    expected to insert address− of
    operators if the objects are large.</p>
  </blockquote>
  
  <p>Which implies that operator overloading can't work with pointer.  But it doesn't clearly explain why operator overloading with pointers can't work.  Why wouldn't operator overloading work for pointers?</p>
  
  <p>IMO where references are used, pointers can also be used in its place.</p>