Dlaczego mój destruktor został wywołany dwukrotnie?
Załóżmy, że hace klasę Student metodą:
Student Student::method(Student x)
{
//nothing important
return x;
}
Konstruktor kopii jest wywoływany dwa razy, raz, gdy obiekt x jest wysyłany jako parametr, a drugi, gdy x jest zwracany z funkcji.
Czemui kiedy czy destruktor dla klasy Student nazywa się dwukrotnie, gdy nazywam tę metodę? Wywołanie jest następujące: a = b.metod (c), gdzie a, b i c są obiektami Studenta.