Forum: PC-Programmierung Array im default copy constructor kopieren?


von Klaus (Gast)


Lesenswert?

Angenommen ich habe ein Array als Member in einer Klasse, z. B. char 
data[8];

Was passiert dann im automatisch generierten copy constructor? 
Normalerweise wird ja jeder Member einfach kopiert.
Aber ein Kopieren von Arrays "array1 = array2;" geht ja normalerweise 
nicht.


Funktioniert der copy constructor in dem Fall, oder muss ich selber 
einen definieren?

von Karl H. (kbuchegg)


Lesenswert?

Klaus wrote:

> Aber ein Kopieren von Arrays "array1 = array2;" geht ja normalerweise
> nicht.

Für dich als Programmierer nicht. Das hängt aber mehr als alles andere 
mit der Sprachdefinition zusammen als mit dem was ein Compiler alles 
kann. Wenn ein Compiler detektiert, dass im CCtor ein Array zu kopieren 
ist, dann ist es für ihn ein Leichtes dafür Code zu generieren.


> Funktioniert der copy constructor in dem Fall, oder muss ich selber
> einen definieren?

Der compilergenerierte Copy Construktor macht in dem Fall schon das 
Richtige.

von Klaus (Gast)


Lesenswert?

Danke dir!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.