A *ap = new A;

で、(デフォルト)コンストラクタAが例外を投げた場合、newで確保されたメモリ
が開放されることは保障されていますか?