Hvad er en kopi-konstruktør?

En kopikonstruktør er en særlig funktion i C ++ og andre sprog påvirket af C ++, der kopierer et kodningsobjekt. Programmereren gør dette ved at tilføje kopikonstruktørerklæringen og henvise til et objekt. Primært gavner dette programmøren ved at spare tid, men det sikrer også, at programmereren ikke indtaster objektets kodning forkert. Når kopien er lavet, skal den have en anden hukommelsesmarkør, eller den peger på det samme afsnit, som det originale objekt peger på. En af de største ulemper ved at bruge kopikonstruktører er, at de ikke kan fungere uafhængigt; Hvis det originale objekt slettes, vil kopien også være.

Når en programmør bruger en kopikonstruktør, fortæller han eller hun koden at kopiere et objekt, der allerede er anført i koden. For at gøre dette skal programmereren først bruge en erklæring til at fortælle kodningen at udføre kopifunktionen. Programmereren skal også henvise til et andet objekt, så objektet skal allerede være bygget, ellers er der ingen måde at udføre kopien på.

Den største fordel ved at bruge en kopikonstruktør er, at det sparer tid. I stedet for at skulle indtaste de samme funktioner igen og kode igen, kan programmereren bare tilføje en reference, og objektet er klar. Dette har en anden skjult fordel ved ensartet og nøjagtig kodning. Så længe det originale objekt er kodet korrekt, har det kopierede objekt også den korrekte kodning. Begge disse fordele er mest synlige med komplekse objekter, men programmerere kan også drage fordel af at kopiere enkle objekter.

På C ++ -sprog kræver mange funktioner en hukommelsesvisning. Dette fortæller funktionen nøjagtigt, hvor man skal se i hukommelsen efter bestemte oplysninger, eller hvor den kan gemme data. Programmereren skal specificere en ny hukommelsesmarkør, når en kopikonstruktør bruges; Ellers bruger de to objekter den samme hukommelsesplads. På overfladen virker dette måske ikke dårligt, men det kan føre til uoverensstemmelser. For eksempel, hvis begge objekter deler den samme markør, og et objekt bruges til at indsende låneansøgninger, mens det kopierede objekt er lavet til at indsende kreditkortansøgninger, vil alle kreditkortansøgninger blive gemt sammen med låneansøgningerne.

Programmerere skal være forsigtige med at slette et objekt, fordi kopi-konstruktørobjekter ikke kan fungere uafhængigt. Hvis programmereren sletter det originale objekt, har det kopierede objekt intet at henvise til. Uden kode der skal henvises til, vil det kopierede objekt ikke være i stand til at udføre sin opgave og vil blive ubrugelig.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?