www.mikrocontroller.net

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


Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke dir!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.