Merhaba Merve,
complex x=2;
complex y=complex(2,0)
gibi ilklendirmelerde sağ tarafta temporary bir değişken yer alıyor. Bu tür ilklendirmelerde ilke olarak copy constructor çağırılıyor diye varsaymak yanlış olmasa da compiler bu türden ilklendirmeleri optimize ediyor. yani bu ifadeler şuna dönüşüyor:
complex x(2);
complex y(2,0);
hafızada yer allocate edilmiş bir değişken kullanılsaydı, örneğin:
complex y = x;
gibi, bu durumda copy constructor çağırılacaktı.
not: Optimizasyon durumu kitabınızda (271. sayfada) da belirtilmiş.
H.
Mrb Hocam,
Ufak bir sorum vardı kafama
takıldı.
Kitapta şöyle bir şey yazıyordu,
ben de buna dayanarak şöyle bir şey yazdım
fakat copy constructor'ın neden çağırılmadığını anlamadım. Ben mi yanlış anlıyorum.
Yorumlarsanız çok sevinirim.
Teşekkürler...