Skip to main content

Was ist ein Kopierkonstruktor?

Ein Kopierkonstruktor ist eine spezielle Funktion in C ++, und andere von C ++ beeinflusste Sprachen, die ein Codierungsobjekt kopiert.Der Programmierer fügt die Erklärung für Kopierkonstruktoren hinzu und verweist auf ein Objekt.Dies kommt vor allem dem Programmierer zugute, indem er Zeit speichert, aber es stellt auch sicher, dass der Programmierer die Codierung des Objekts nicht falsch eingibt.Wenn die Kopie erstellt wird, muss sie einen anderen Speicherzeiger haben, oder es zeigt auf denselben Abschnitt, auf den das ursprüngliche Objekt zeigt.Einer der Hauptnachteile bei der Verwendung von Kopierkonstruktoren ist, dass sie nicht unabhängig funktionieren können.Wenn das ursprüngliche Objekt gelöscht wird, wird auch die Kopie sein.

Wenn ein Programmierer einen Kopierkonstruktor verwendet, fordert er dem Code an, ein bereits im Code aufgeführter Objekt zu kopieren.Dazu muss der Programmierer zunächst eine Deklaration verwenden, um die Codierung mitzuteilen, um die Kopierfunktion auszuführen.Der Programmierer muss auch auf ein anderes Objekt verweisen, sodass das Objekt bereits erstellt werden muss, oder es gibt keine Möglichkeit, die Kopie auszuführen.

Der Hauptvorteil einer Kopierkonstruktor besteht darin, dass er Zeit spart.Anstatt die gleichen Funktionen wieder aufzunehmen und erneut zu codieren, kann der Programmierer nur eine Referenz hinzufügen und das Objekt ist bereit.Dies hat einen weiteren versteckten Vorteil bei der konsistenten und genauen Codierung.Solange das ursprüngliche Objekt korrekt codiert wird, hat das kopierte Objekt auch die richtige Codierung.Beide Vorteile sind bei komplexen Objekten am deutlichsten, aber Programmierer können auch vom Kopieren einfacher Objekte profitieren.

In C ++ - Sprachen erfordern viele Funktionen einen Speicherzeiger.Dies gibt der Funktion genau an, wo genau Sie in den Speicher nach bestimmten Informationen suchen oder wo Daten gespeichert werden können.Der Programmierer muss einen neuen Speicherzeiger angeben, wenn ein Kopierkonstruktor verwendet wird.Andernfalls verwenden die beiden Objekte den gleichen Speicherplatz.An der Oberfläche scheint dies nicht schlecht zu sein, aber es kann zu Inkonsistenzen führen.Wenn beispielsweise beide Objekte denselben Zeiger teilen und ein Objekt zum Einreichen von Kreditanträgen verwendet wird, während das kopierte Objekt zur Einreichung von Kreditkartenanträgen vorgenommen wird, werden alle Kreditkartenanträge mit den Kreditanträgen gespeichert.

Programmierer müssen müssenSeien Sie vorsichtig, ein Objekt zu löschen, da Kopienkonstruktorobjekte nicht unabhängig funktionieren können.Wenn der Programmierer das ursprüngliche Objekt auslöscht, hat das kopierte Objekt nichts zu referenzieren.Ohne Code kann das kopierte Objekt seine Aufgabe nicht ausführen und nutzlos werden.