*   >> Læs Uddannelse artikler >> science >> programming

Principper for en simpel C ++ Sequence Container

Principper for en simpel C ++ Sequence Container Container Bibliotek Sekvenser i C ++ Forenklet - Del 2 Division 1 Indledning Dette er den del 2 af min serie, Beholdere Bibliotek Sekvenser i C ++, Forenklet. Du skulle have læst del 1, før du læser denne del. I denne del af serien, ser vi på principperne for en simpel C ++ Sekvens Container. Bemærk: Hvis du ikke kan se koden, eller hvis du tror noget mangler (brudt link, billede fraværende), bare kontakte mig på [email protected]. Det vil sige, kontakt mig for det mindste problem, du har om, hvad du læser.

Nogle regler for liste I vil skabe en simpel C ++ container korrekt, i den næste del af serien. Der er nogle regler for array i den dynamiske hukommelse, som du skal huske eller lære. Vi ser på dem for resten af ​​dette selvstudium. Oprettelse af en array i Dynamic Memory Følgende erklæring, kopieret fra klassens konstruktør ovenfor, skaber et array i dynamisk hukommelse. T * listPtr = nye T [noIniCells]; T er en pladsholder for objekttypen hvis du har at gøre med en skabelon.

Hvis du ikke havde at gøre med en skabelon, så T ville være at sige, int eller char eller flyder osv Adgang til et element til en int array, hvis du vil have den nye værdi af et element, siger i indeks 3 til at være 17, du ville skrive sætningen: listPtr [3] = 17; Du bruger markøren samt de firkantede parenteser; behøver du ikke gå forud for pointer med * for værdien; de firkantede parenteser tage sig af det. Af den simple beholder, skal vi have en lidt anden måde at få adgang værdierne. Øge størrelsen af ​​Dynamic Array Du kan øge størrelsen, et element ad gangen.

For at gøre dette, skal du bruge markøren med indekset for den forventede næste element til det næste element. Hvis ovenstående matrix har 5 elementer i første omgang, betyder det, det højeste indeks er 4. Hvis array er for ints, at øge størrelsen af ​​array af én og giver værdien 26 til det nye element, skal du skrive erklæring: listPtr [5 ] = 26; Er dynamisk hukommelse til rådighed? Dynamisk hukommelse (gratis butik) er muligvis ikke tilgængelige, når du ønsker det.

Så du er nødt til at kontrollere, om dynamisk hukommelse der er tilgængelig, før du opretter array og også kontrollere, om den er tilgængelig, før du tilføjer et nyt element. Følgende kode vil kontrollere og skabe den første liste for ovenstående konstruktør: T * listPtr = nye T [noIniCells]; if (! listPtr = NULL) {for (int i = 0; i {listPtr [i] = defaultObj;}} else {cout} Hvis der ikke er dynamisk

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.