..


Gesponsorde links

Overbelasting nieuwe en verwijderen operatoren in C + +

Artikel geschreven door Damiano Verda
Pagina 1 van 2

Een van de onderscheidende kenmerken van de C + + taal dan het andere programmeertalen, zullen wij vaststellen van de mogelijkheid van uitbreiding van het gebruik van het mechanisme ook overloaded operatoren, in aanvulling op functies of methoden van een klasse.

In een notendop, de 'overbelasting is in het algemeen, een mechanisme voor het differentiëren functies met dezelfde naam (en meestal een gelijkaardige maar niet identieke) gebaseerd op het aantal en type van de geleverde parameters.
Bijvoorbeeld, definieer ik twee printfuncties, een generieke (geen parameters) dat een reeks van vooraf bepaalde informatie wordt afgedrukt, en een ander waarin de gebruiker de juiste manier kan opgeven door het instellen van parameters, welke informatie is van belang en daarom moeten worden afgedrukt.

De print functie is, dus in dit geval geherdefinieerd om de verschillende informatie die door de invoer van de gebruiker aan te passen. Ook de C + + kun je herdefiniëren operators: we denken van de wiskundige operatoren "+", "-", "*" en "/". Het kan interessant en praktisch, bijvoorbeeld, opnieuw op de "+"-operator wordt toegepast indien geen getallen, maar strings (sets van alfanumerieke tekens). In het laatste geval, de "som" komt overeen met de aaneenschakeling van de snaren, bijvoorbeeld als de string "Hello" en b in de string "wereld", de bewerking

 



 snaar c = a + b

 
leiden tot het ontstaan ​​van de string c, waarvan de waarde is "Hello world".

'S overbelast, en in het bijzonder operator overbelasting in C + + , worden nog steeds behandeld in een vorig artikel, waarnaar wij verwijzen voor verder onderzoek.

We stellen voor om echter van mening, in het bijzonder hoe deze zelfde mechanisme kan worden uitgebreid tot andere vormen van exploitanten en hoe nuttig, met name door verwijzing naar de nieuwe en verwijderen operators, handig voor geheugenbeheer.

Memory Management

De nieuwe en verwijderen operators zijn nuttig voor het geheugen beheer, met name om te reserveren en toewijzen (of toewijzen) het geheugen nodig is voor een nieuw object (nieuw) en de vrije (of vrijgeven) het geheugen voor toekomstig gebruik (verwijderen).

Een zeer interessant aspect van C + +, dat onderscheidt van C, is het bestaan ​​van nieuwe en te verwijderen, die het mogelijk maken, bijvoorbeeld met betrekking tot nieuwe, om de ruimte die nodig is voor elk object automatisch te berekenen (terwijl het commando equivalent C, malloc, vereist de programmeur om aan te geven wat is de grootte van het object toe te kennen).

Op dit punt is het natuurlijk af te vragen wat er het nut van een mechanisme voor overbelasting zijn, omdat de kracht van nieuwe en te verwijderen is gewoon een groot algemeen gebruik, lijkt het niet nodig om een nieuwe definitie die rekening houdt met een aantal gevallen. De prijs van een operator is zo generiek, maar, zoals vaak gebeurt, een zeker gebrek aan controle over. Bijvoorbeeld, het niet mogelijk is, met de standaard versie van de nieuwe exploitant, gewoon controleren of er problemen zijn bij de toewijzing van de nodige geheugen (geheugen is er beschikbaar? Correct is toegewezen?). Om dit probleem te verhelpen kan men een beroep doen op 'overbelast.

Dus zullen we nu bespreken met een eenvoudig voorbeeld, een geval van overbelasting van de nieuwe exploitant, benadrukt dat de overwegingen gegeven en de procedures zijn ook geldig wanneer u wilt verwijderen van de operator overbelasting.

In dezelfde categorie ...
E-Learning
ASP Zero (Ebook) ASP Zero (Ebook)
Leren Microsoft ASP en VBScript vanaf nul. Op slechts 29 €.
Flash MX en ActionScript (Cursus) Flash MX en ActionScript (Cursus)
Word een ontwikkelaar van websites van 29 €.
MySQL (Cursus) MySQL (Cursus)
Beheer van de open source database. Van 39 €.
Gesponsorde links