Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Dynamische Toewijzing | Dynamische Geheugentoewijzing
C++ Pointers en Referenties
Sectie 4. Hoofdstuk 2
single

single

bookDynamische 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 operator new is toegewezen.

Note
Opmerking

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.

Note
Opmerking

Het niet verwijderen van dynamisch toegewezen geheugen kan leiden tot geheugenlekken, waarbij het programma geheugen vasthoudt dat niet langer wordt gebruikt.

Taak

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.

  1. Maak een dynamisch gealloceerde array grades om de cijfers van studenten op te slaan.
  2. Gebruik de functie fillRandomGrades om de array te vullen met willekeurige cijfers tussen 60 en 100.
  3. Maak de functie calculateAverage af zodat deze:
    • De variabele sum initialiseert op 0.
    • Door de array itereert met een for-lus.
    • Elk cijfer bij sum optelt.
    • Het gemiddelde cijfer retourneert door de totale sum te delen door het aantal studenten.
  4. Vergeet niet om aan het einde van het programma het gealloceerde geheugen vrij te geven met delete[] om geheugenlekken te voorkomen.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt