everest% CC des13.C record3.C des13.C: record3.C: everest% everest% a.out Alternate Constructor: this=ffffffadf0, s=(10012438,"S"),str=(10013010,"S") Default Constructor: this=ffffffadf8 Identify S: id: this=ffffffadf0, str=(10013010,"S") Do Assignment Duplicate Constructor: this=ffffffae00, &R=ffffffadf0, R.str=(10013010,S),str=(10013020,"S") Alternate Constructor: this=ffffffae08, s=(10012430,"R"),str=(10013030,"R") Identify T: id: this=ffffffae00, str=(10013020,"S") Identify R: id: this=ffffffae08, str=(10013030,"R") Assignment Operator: this=ffffffadf8, &R=ffffffae08, R.str=(10013030,R),str=(10013040,"R") Destructor: this=ffffffae08, str=(10013030,"R") Destructor: this=ffffffae00, str=(10013020,"S") Finished Assignment str1=(10013020,"Hello") str2=(10013030,"World") Identify S: id: this=ffffffadf0, str=(10013010,"S") Identify P: id: this=ffffffadf8, str=(10013040,"R") End of main() Destructor: this=ffffffadf8, str=(10013040,"R") Destructor: this=ffffffadf0, str=(10013010,"S") everest% everest% g++ des13.C record3.C des13.C: In function `class Record foo(class Record)': des13.C:15: warning: initialization of non-const reference `class Record &' from rvalue `Record' record3.h:15: warning: in passing argument 1 of `Record::Record(Record &)' ld: WARNING 84: /usr/local/lib/libstdc++.a is not used for resolving any symbol. ld: WARNING 84: /usr/lib32/libm.so is not used for resolving any symbol. everest% everest% a.out Alternate Constructor: this=7fff2e80, s=(100140c0,"S"),str=(10015010,"S") Default Constructor: this=7fff2e98 Identify S: id: this=7fff2e80, str=(10015010,"S") Do Assignment Duplicate Constructor: this=7fff2ec0, &R=7fff2e80, R.str=(10015010,S),str=(10015020,"S") Alternate Constructor: this=7fff2e20, s=(10014098,"R"),str=(10015030,"R") Identify T: id: this=7fff2ec0, str=(10015020,"S") Identify R: id: this=7fff2e20, str=(10015030,"R") Duplicate Constructor: this=7fff2eb8, &R=7fff2e20, R.str=(10015030,R),str=(10015040,"R") Destructor: this=7fff2e20, str=(10015030,"R") Destructor: this=7fff2ec0, str=(10015020,"S") Assignment Operator: this=7fff2e98, &R=7fff2eb8, R.str=(10015040,R),str=(10015020,"R") Destructor: this=7fff2eb8, str=(10015040,"R") Finished Assignment str1=(10015040,"Hello") str2=(10015030,"World") Identify S: id: this=7fff2e80, str=(10015010,"S") Identify P: id: this=7fff2e98, str=(10015020,"R") End of main() Destructor: this=7fff2e98, str=(10015020,"R") Destructor: this=7fff2e80, str=(10015010,"S") everest%