class A {}; // ←ほんとはもっと複雑。
A foo() {
  return A();
}
ってのがあるとき、

void var() {
  A a = foo();
}
ってやったら、クラスAのインスタンスを返すことができました。
クラスAのコピーコンストラクタが起動しなかったし、
また a の寿命がつきる時に foo()の返したオブジェクトも死にました。

なんかめちゃめちゃ不思議で便利な振る舞いだな、って思ったのですが、
これってVC++特有の振る舞いなのでしょうか?