>>636
その a のためのメモリはスタックフレーム上に確保されてて、関数から return すると黙ってても消えて無くなる領域だから、
new とか malloc なんかでヒープ上に確保するメモリと違って delete とか free とかはいらない。
関数 func を呼び出してる間、xy の領域と a の領域は同時に存在し、return するときに a の内容を xy にコピーして、a は func のスタックフレームと共に消滅する。