I recently used a library that allows the following type of syntax:
MyClass myObject; myObject .setMember1(\"string value\") .setMember2(4.0f) .s
In theory, you could end up with a dangling reference if you do something awful like:
MyClass *myObject = new MyClass; MyClass & dangling = myObject->setMember1("string"); delete myObject; dangling.setMember2(yrParam);
So be aware of that.