C++ Unterschied Copy-Konstruktor vs. Zuweisungsoperator?
Hi Leute,
was ist denn nun der konrekte Unterschied zwischen dem Copy-Konstruktor und dem Zuweisungsoperator? Ich hab hier einen Quelltext vor mir liegen bei dem beide im Grunde dasselbe machen:
//Copy-Konstruktor
Test::Test (const Test &a) : size(a.size), p(new int[size]) {
for (int i = 0; i p[i] = a.p[i];
}
}
//Zuweisungsoperator
Test &Test ::operator=(const Test &a) {
if (this != &a) {
for (int i = 0; i p[i] = a.p[i];
}
}
return *this;
}
Beide übergeben ja dem neuen Objekt das alte Array ( p[ ] ), also kopieren es oder weisen es neu zu...wo ist der Unterschied?