..


Sponsede Lenker

Overbelastning nye og slette operatører i C + +

Artikkel skrevet av Damiano Verda
Side 1 av 2

Blant de karakteristiske trekk ved C + + språk enn andre programmeringsspråk, sikkert vi identifisere muligheten for å utvide bruken av mekanismen også overbelastet operatører, i tillegg til funksjoner eller metoder for en klasse.

I et nøtteskall, er "overbelastning, generelt, en mekanisme for å skille funksjoner med samme navn (og vanligvis gjøre en lignende men ikke identiske) basert på antall og type parametre leveres.
For eksempel, definerer jeg to utskriftsfunksjoner, et generisk (ingen parametre) som skriver ut en serie med forhåndsbestemt informasjon, og en annen der bruker kan angi ved å sette parametre riktig, hva slags informasjon som er av interesse og derfor skal skrives ut.

Utskriften funksjonen er derfor i dette tilfellet redefinert for å passe de ulike opplysningene som er gitt av brukeren input. Tilsvarende C + + gjør det mulig å redefinere operatører: vi tenker på matematiske operatorer "+", "-", "*" og "/". Det kan være interessant og praktisk, for eksempel omdefinere "+" operator brukes hvis ikke tall, men strenger (sett med alfanumeriske tegn). I sistnevnte tilfelle, svarer "summen" til sammensetning av strenger, for eksempel hvis strengen er "Hei" og b i strengen "verden", drift

 



 string c = a + b

 
føre til etablering av strengen c, der verdien er "Hei verden".

'S overbelastet, og spesielt operatør overbelastning i C + + , fortsatt behandles i en tidligere artikkel, som vi henvise til videre undersøkelser.

Vi foreslår nå å vurdere, men spesielt hvordan denne samme mekanismen kan utvides til andre typer operatører og hvor nyttig, særlig ved henvisning til nye og slette operatører, nyttig for minnehåndtering.

Memory Management

Den nye og slette operatører er nyttige for minnehåndtering, særlig reserve og tildele (eller allokere) minnet som trengs for et nytt objekt (ny) og til gratis (eller deallocate) minnet for fremtidig bruk (slett).

Et svært interessant aspekt av C + +, som skiller den fra C, er det eksistensen av nye og slette, som tillater, for eksempel med hensyn til nye, for å beregne plassbehovet for hvert objekt automatisk (mens kommandoen tilsvarende C, malloc, krever programmerer å spesifisere hva som er størrelsen på objektet som skal tildeles).

På dette punktet er det naturlig å lure på hva som kan være nytten av en mekanisme for overbelastning, siden styrken av nye og slett bare en stor allmenn bruk, virker det unødvendig å lage en ny definisjon som tar hensyn til en rekke saker. Prisen på en operatør er så generisk, men som ofte skjer, en viss mangel på kontroll over. For eksempel er det ikke mulig å bruke standard-versjonen av den nye operatøren, bare sjekke om det har vært problemer i tildeling av de nødvendige minne (minne som er tilgjengelig? Har blitt tildelt riktig?). For å overvinne dette problemet man kan ha regress til "overbelastet.

Så vi vil diskutere nå med et enkelt eksempel, et tilfelle av overbelastning den nye operatøren, understreker at de hensyn gitt og prosedyrene er gyldige selv om du vil slette fra operatøren overbelastning.

I samme kategori ...
E-læring
Photoshop (Course) Photoshop (Course)
Web grafikk og foto redigering med den populære Adobe Photoshop. Fra 49 €.
SQL og Database (Course) SQL og Database (Course)
Opprette og administrere relasjonsdatabaser. Fra € 39.
Visual Basic 6 (Course) Visual Basic 6 (Course)
Lag Desktop Applications med VB6. Fra € 39.
Sponsede Lenker