C++ではリファレンスで束縛されない一時オブジェクトの解体は
完結式の評価の最終段階で行う (12.2p3)
c.f().f().f().f().f(); の終わりで解体
基本的に変数は生成された逆順で解体される(12.2p5,3.7.1-2,3.6.3,6.7)
かな?