さて、続き。
C++で『デストラクタありの』オブジェクトを返すとき、お前らどうしてる?

α: しない。上位関数でオブジェクトポインタを渡して上書き。(Cスタイル)
β: スマポで渡す。(スマポ教)(=CLIスタイル)
γ: reinterpret_cast。 ← とりあえず今の実装
Δ: 他に何かある?

非常に当たり前だが、
戻り値として一時オブジェクトを用意すると、それのデストラクタが実行されてしまうことに気づいた。
(今更なのだが、これまではVC++/CLIでCまたはCLI(managed)スタイルで書いていて、
C++(unmanagedまたはネイティブ)スタイルはほぼ使っていなかったから気づかなかった)
これでは困ったことに、関数呼び出しで初期化がやりにくい。
具体的に、駄目なコードは以下。