2 kere copy constructor çağırılır evet,
throw(d) : d objesinin kopyası function argumanı olarak gönderilirken kopyalanıyor.
catch(A i): i objesi catch bloğuna girerken (function call'daki gibi) kopyası gönderiliyor.
eğer catch(A) diye bıraktığında catch bloğunun formal parametresi tanımlanmamış olduğundan yaratılmıyor (hatırlarsan içeriden o parametreye ulaşamıyoruz demiştik). o nedenle sadece throw'da copy constructor çağırılıyor.yani 1 kere..
güzel örnek, teşekkürler Merve :)
H.