..


Sponsorerede links

Overbelastning nye og slette operatører i C + +

Artikel skrevet af Damiano Verda
Side 1 af 2

Blandt de særlige kendetegn for C + + sprog end andre programmeringssprog, vi helt sikkert beskrive muligheden for at udvide brugen af mekanismen også overbelastet operatører, ud over funktioner eller metoder af en klasse.

I en nøddeskal, er "overbelastning, i almindelighed, en mekanisme til at differentiere funktioner med samme navn (og plejer at gøre en lignende, men ikke identiske) baseret på antallet og typen af de leverede parametre.
For eksempel definerer jeg to print funktioner, en generisk (ingen parametre), der udskriver en række forudbestemte informationer, og en anden hvor brugeren kan angive ved at indstille parametrene korrekt, hvilke oplysninger der er af interesse og derfor skal udskrives.

Printfunktionen er derfor, i dette tilfælde omdefineret, der passer til de forskellige oplysninger, som brugeren input. Tilsvarende er C + + giver dig mulighed for at redefinere operatører: Vi tænker på matematiske operatorer "+", "-", "*" og "/". Det kan være interessant og praktisk, for eksempel på "+" operatør er anvendt, hvis ikke numre omdefinere, men strenge (sæt af alfanumeriske tegn). I sidstnævnte tilfælde svarer "Sum" til sammenkædning af strenge, for eksempel hvis strengen er "Hello", og b i strengen "verden", driften

 



 string c = a + b

 
føre til oprettelsen af strengen c, hvis værdi er "Hej verden".

'S overbelastet, og i særdeleshed operator overloading i C + + , der stadig bliver behandlet i en tidligere artikel, som vi henvise til yderligere undersøgelse.

Vi foreslår nu at overveje, men specifikt, hvordan den samme mekanisme kan udvides til andre typer af operatører og hvor nyttig, især med henvisning til de nye og slette operatører, som er nyttige for hukommelse ledelse.

Memory Management

Den nye og slette operatører er nyttige for hukommelse forvaltning, især for at reservere og tildele (eller allokere) hukommelsen er nødvendige for et nyt objekt (nyt) og til gratis (eller deallocate) den hukommelse til senere brug (slet).

Et meget interessant aspekt af C + +, hvilket adskiller den fra C, det er eksistensen af nye og slette, som gør det muligt, for eksempel med hensyn til nye, til at beregne den plads, der kræves for hvert objekt automatisk (mens kommandoen tilsvarende C, allokere kræver programmøren at specificere, hvad er størrelsen af det objekt, der skal tildeles).

På dette punkt er det naturligt at spekulere på, hvad der kunne være nytten af en mekanisme for overbelastning, da styrken af nye og slette er bare en stor generel anvendelse, forekommer det unødvendigt at lave en ny definition, der tager højde for en række sager. Prisen for en operatør er så generisk, men, som det ofte sker, en vis mangel på kontrol over. For eksempel er det ikke muligt, ved hjælp af standard-version af den nye operatør, blot kontrollere, om der har været problemer med at afsætte de nødvendige hukommelse (hukommelse der er tilgængelig? Er allokeret korrekt?). For at overvinde dette problem, man kan benytte sig af "overbelastet.

Så vi vil diskutere nu med et simpelt eksempel, et tilfælde af overbelastning af nye operatør, der understreger, at overvejelser givet, og de ​​procedurer, der er gyldige, selv om du ønsker at slette fra operatøren overbelastning.

I den samme kategori ...
E-Learning
ASP.NET (Kursus) ASP.NET (Kursus)
Fuld kursus for bygge web-applikationer fra 49 €.
MySQL (Kursus) MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €.
SQL-og Database (Kursus) SQL-og Database (Kursus)
Oprette og administrere relationelle databaser. Fra 39 €.
Sponsorerede links