Skid
Erfahrenes Mitglied
Hallo,
ich habe eine Frage fürs Verständnis, da mir folgende Charakteristik wenig einleuchtend erscheint:
Ich habe einen Zuweisungsoperator überladen, der von einem übergebenen Feld Werte an ein Feld in einer Klasse übergibt, also ungefähr so:
So also werden die Werte eines Feldes kopiert und in einem anderen Feld gespeichert.
Wenn ich nun folgenden Code ausführe ...
... wird nach diesem Code der Dekonstruktor aufgerufen, mir ist nur nicht ganz klar warum?
Kann mich jemand darüber aufklären?
Vielen Dank,
SKiD.
ich habe eine Frage fürs Verständnis, da mir folgende Charakteristik wenig einleuchtend erscheint:
Ich habe einen Zuweisungsoperator überladen, der von einem übergebenen Feld Werte an ein Feld in einer Klasse übergibt, also ungefähr so:
Code:
myMatrix myMatrix::operator = (const float pMatrix[][4])
{
for(int tJ = 0; tJ <= 3; tJ++)
for(int tI = 0; tI <= 3; tI++)
mMatrix[tJ][tI] = pMatrix[tJ][tI];
return *this;
}
So also werden die Werte eines Feldes kopiert und in einem anderen Feld gespeichert.
Wenn ich nun folgenden Code ausführe ...
Code:
float m[4][4];
for(int i = 0; i < 4; i++)
for(int j = 0; j < 4; j++)
m[i][j] = i + j;
myMatrix tMatrix;
tMatrix = m; // Aufruf des Dekonstruktor
... wird nach diesem Code der Dekonstruktor aufgerufen, mir ist nur nicht ganz klar warum?
Kann mich jemand darüber aufklären?
Vielen Dank,
SKiD.