Video: Linux Tutorial for Beginners: Introduction to Linux Operating System 2024
Statische matrices zijn toegewezen aan de stapel, die kan hun bruikbaarheid beperken. Dynamische arrays worden toegewezen aan de heap, wat betekent dat ze alleen worden beperkt door de grootte van het geheugen. Toegegeven, je zult een paar andere verschillen vinden tussen dynamische en statische matrices, maar de bottom line hier is dat hoewel dynamische matrices wat meer werk vereisen om te gebruiken omdat je zelf het geheugen moet beheren, ze ook extra flexibiliteit bieden bij het werken met gegevens.
Meer dan waarschijnlijk zult u complexe data willen verwerken wanneer u gebruik maakt van dynamische arrays. Het voorbeeld in dit online artikel is om te behagen door te kijken hoe u een dynamische array met een structuur kunt gebruiken. Hier is een voorbeeld van de code die u zou kunnen gebruiken:
# include # include namespace std; struct Employee {string Name; int Leeftijd;}; int main () {Employee * DynArray; DynArray = nieuwe (nothrow) medewerker [3]; DynArray [0]. Name = "Harvey"; DynArray [0]. Leeftijd = 33; DynArray [1]. Name = "Sally"; DynArray [1]. Leeftijd = 26; DynArray [2]. Name = "Jeff"; DynArray [2]. Leeftijd = 52; cout << "de Array-inhoud weergeven" << endl; for (int i = 0; i <3; i ++) {cout << "name:" << dynArray [i]. Naam << "tAge:" << dynArray [i]. Leeftijd << endl;} verwijder [] DynArray; return 0;}
In dit voorbeeld begint de code door een Employee struct te maken die de naam en leeftijd van de werknemer bevat. Je zou elke gewenste datacontainer kunnen gebruiken - deze is gewoon een struct.
Om een dynamische array te maken, definieert u een pointer naar de array-variabele. Deze act plaatst de variabele op de hoop in plaats van op de stapel. Vervolgens maakt u de array, die in dit geval drie werknemersinvoeren bevat. De code vult de gegevens in en gebruikt vervolgens een lus om de resultaten op het scherm weer te geven. Dit is wat u zou moeten zien als u het voorbeeld uitvoert.
De naam van de array-inhoud weergeven: Harvey Leeftijd: 33 Naam: Sally Leeftijd: 26 Naam: Jeff Leeftijd: 52
U ziet de afzonderlijke leden van Employee openen door naar de vereiste array-index te gaan en vervolgens de puntsyntaxis te gebruiken om te specificeren de naam van het lid. Het is belangrijk om te onthouden dat de dynamische array werkt als elke andere array doordat u een index opent om een specifiek item te verkrijgen.
Het is essentieel om delete [] te gebruiken om het door DynArray gebruikte geheugen vrij te maken. Anders zal uw toepassing een geheugenlek hebben dat uiteindelijk de systeemprestaties zal beïnvloeden of op zijn minst zal veroorzaken dat het grappige dingen doet. Omdat onze systemen al leuk genoeg acteren, is het waarschijnlijk een goed idee om ervoor te zorgen dat uw toepassing niet bijdraagt aan het probleem.