title: overloaded increment's return value
body: <p>In his The C++ Programming Language Stroustrup gives the following example for inc/dec overloading:</p>
  
  <pre><code>class Ptr_to_T {
      T* p;
      T* array ;
      int size;
  public:
      Ptr_to_T(T* p, T* v, int s); // bind to array v of size s, initial value p
      Ptr_to_T(T* p); // bind to single object, initial value p
      Ptr_to_T&amp; operator++(); // prefix
      Ptr_to_T operator++(int); // postfix
      Ptr_to_T&amp; operator--(); // prefix
      Ptr_to_T operator--(int); // postfix
      T&amp;operator*() ; // prefix
  }
  </code></pre>
  
  <p>Why prefix operators return by reference while postfix operators return by value?</p>
  
  <p>Thanks.</p>