Periaatteet Yksinkertainen C ++ Sequence Container Container Kirjasto Jaksot C ++ Yksinkertaistettu - Osa 2 Division 1 Johdanto Tämä on osa 2 minun sarja, Kontit Kirjasto sekvenssit C ++, yksinkertaistettu. Sinun olisi pitänyt lukea osa 1 ennen luet tätä osaa. Tässä osa sarjasta, katsomme periaatteet Yksinkertainen C ++ Sequence Container. Huomautus: Jos et näe koodia tai jos luulet jotain puuttuu (rikki linkki, kuva poissa), vain yhteyttä minuun [email protected]. Eli minuun yhteyttä pienintäkään ongelmaa olet mitä luet.
Jotkut säännöt Luettelo aion luoda yksinkertainen C ++ kontti oikea, seuraavassa osa sarjasta. On joitakin sääntöjä array dynaaminen muisti, että sinun pitäisi muistaa tai oppia. Katsomme heitä loput tästä opetusohjelma. Luominen Array dynaaminen muisti seuraavan lausuman, kopioitu luokan rakentaja edellä, luo array dynaaminen muisti. T * listPtr = uusi T [noIniCells]; T on paikkamerkki kohdetyyppiä jos olet tekemisissä mallin.
Jos et ole tekemisissä mallin, niin T olisi sanoa, int tai char tai float jne käyttäminen osa int array, jos haluat uuden arvon elementin, sanovat indeksi 3 olevan 17, sinua kirjoitetaan julkilausuma: listPtr [3] = 17; Käytät osoitin ja hakasulkeiden; et ennen osoitinta * arvolle; Hakasulkeissa huolehtia siitä. Siitä yksinkertaisesta kontti, meillä on hieman erilainen tapa käyttää arvoja. Lisääminen koko Dynamic Array Voit suurentaa, yksi osa kerrallaan. Voit tehdä tämän, käytä osoitin indeksi odotetaan ensi elementti päästä seuraavaan elementtiin.
Jos edellä joukko on 5 elementtejä aluksi, se tarkoittaa korkeinta indeksi on 4. Jos matriisi on ints, lisätä taulukon koko kerrallaan ja antaa arvoa 26 uuden elementin, kirjoita julkilausuma: listPtr [5 ] = 26; On Dynamic muistia? Dynaaminen muisti (ilmainen store) ei ehkä ole käytettävissä, kun haluat sen. Joten sinun täytyy tarkistaa, jos dynaamista muistia on käytettävissä ennen kuin luot array ja myös tarkistaa, jos se on käytettävissä ennen kuin lisäät uuden elementin.
Seuraava koodi tarkistaa ja luoda alustava luettelo edellä rakentaja: T * listPtr = uusi T [noIniCells]; jos (listPtr! = NULL) {for (int i = 0; i {listPtr [i] = defaultObj;}} else {cout} Jos ei ole dynaaminen muisti, pyyntö se (uusi t [noIniCells]) palauttaa NULL . Joten sen jälkeen yrittää luoda listan, voit tarkistaa, jos osoitin on NULL. Jos se ei ole nolla, jatkat täyttää listan oletusarvot.
Kun lisäät elementin listaan, voit tarkistaa dynaaminen muisti oli käytettävissä varmistamalla j