class ostream {
      //...
      ostream operator<<(char*); }; ostream ostream::operator<<(char* p) { while (*p) buf.sputc(*p++); return *this; } 
определяет операцию << как член класса ostream, поэтому s< ");
а если применить операцию взятия адреса, то вы получите адрес объекта, на который ссылается ссылка:
  &s1 == &my_out
  Первая очевидная польза от ссылок состоит в том, чтобы обеспечить
передачу адреса  объекта, а не самого объекта, в функцию вывода (в
некоторых языках это называется передачей параметра по ссылке):
  ostream& operator<<(ostream& s, complex z) { return s << "(" << z.real << "," << z.imag << ")"; }