single
Dynamische Toewijzing
Veeg om het menu te tonen
Dynamische geheugenallocatie omvat het gebruik van de operatoren new en delete. Deze operatoren maken het mogelijk om geheugen voor variabelen en arrays tijdens de uitvoering toe te wijzen, wat meer flexibiliteit biedt dan statische geheugenallocatie.
-
new: operator die wordt gebruikt om tijdens de uitvoering dynamisch geheugen toe te wijzen voor een object of een array van objecten; -
delete: operator die wordt gebruikt om geheugen vrij te geven dat eerder met de operatornewis toegewezen.
Een pointer die verwijst naar dynamisch toegewezen geheugen wordt doorgaans op de stack opgeslagen, maar het geheugen waarnaar wordt verwezen, wordt op de heap toegewezen.
Om een integer-variabele dynamisch aan te maken, moet een pointer samen met het sleutelwoord new worden gebruikt.
int *dynamicInteger = new int;
Om het dynamisch toegewezen geheugen vrij te geven, gebruikt u de delete-operator:
delete dynamicInteger;
Maak er een regel van voor uzelf: wanneer u new gebruikt om geheugen toe te wijzen, gebruik dan altijd delete om het later vrij te geven.
Dynamisch toegewezen arrays
Bij het dynamisch toewijzen van geheugen voor arrays gebruikt u de new[]-operator, en bij het vrijgeven van geheugen voor dynamisch toegewezen arrays gebruikt u de delete[]-operator.
Het niet verwijderen van dynamisch toegewezen geheugen kan leiden tot geheugenlekken, waarbij het programma geheugen vasthoudt dat niet langer wordt gebruikt.
Veeg om te beginnen met coderen
Stel je voor dat je werkt als docent die de gemiddelde score van een groep studenten moet berekenen.
Je werkt hierbij met pointers en functies die dynamisch gealloceerde arrays manipuleren.
- Maak een dynamisch gealloceerde array
gradesom de cijfers van studenten op te slaan. - Gebruik de functie
fillRandomGradesom de array te vullen met willekeurige cijfers tussen 60 en 100. - Maak de functie
calculateAverageaf zodat deze:- De variabele
suminitialiseert op 0. - Door de array itereert met een
for-lus. - Elk cijfer bij
sumoptelt. - Het gemiddelde cijfer retourneert door de totale
sumte delen door het aantal studenten.
- De variabele
- Vergeet niet om aan het einde van het programma het gealloceerde geheugen vrij te geven met
delete[]om geheugenlekken te voorkomen.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.