C++ Named Return Value Optimization

VC++2005の名前付き戻り値の最適化の紹介がされていた。
http://msdn.microsoft.com/visualc/default.aspx?pull=/library/en-us/dnvs05/html/nrvo_cpp05.asp

  • 最適化が行われなくなるケース
    1. 複数の経路で異なる名前のinstanceを返す場合。
    2. EH stateを生じるような、戻り値を返す複数の経路がある場合。(同名のinstanceであっても)
    3. 名前付き戻り値がinline asmのブロックに参照されている場合。

EH stateって何だろう?Exception Handling?