Kuidas kasutada kaarti STL Container klass

C ++ kaart konteiner klassi rakendab üks-ühele kaardistamine vahel unikaalne võti ja väärtus.Oluline sorteerib põhiväärtus paari kaarti.[] Ja operaator on STL kaart kõige sagedamini kasutatakse avaliku meetod.Täpsustades põhiväärtus nurksulgudes tagastab viitega vastavale väärtusele.Kui võti ei ole, programm lisab ta ja tagastab viite elemendi vaikimisi konstruktor.

, mida te vajate

  • Täpsem C ++ teadmisi
  • C ++ kompilaator IDE, näiteksnagu Borland C ++ Builder

juhised

  1. Kaasa kaardi päises faili oma C ++ programm, nii et pääsete klassi ja selle liikme ülesannete.Pane see liin tipus oma lähtefaili:

    hulka & lt;map & gt;
  2. Kasuta C ++ kaart massiivi seostada seotud teavet, näiteks õpilaste nimed ja klassid.Siin on kõige tähtsam on õpilase nimi.Nagu indeks array, kui seda kasutada juurdepääsuks element, ainult sel juhul on see mitte-numbriline:

    kasutades namespace std;

    int main () {

    map & lt;string, char & gt;dB;

  3. asustada kaardil andmed:

    dB ["Dave"] = 'F';

    dB ["Cindy"] = "B";

    dB ["Andreas"] = 'A';

    dB ["Dave"] = "C";// Dave hinne paraneb.

  4. Kustuta Andreas massiivi kui ta langeb klassi:

    dB.erase ("Andreas");

  5. Test kas massiiv on tühi.Kui seda pole, siis avab selle suurus:

    if (! DB.empty ())

    cout & lt; & lt;"Andmebaas on: & lt; & lt; dB.size () & lt; & lt;" õpilased "& lt; & lt; Endl;

  6. kasutamine eriotstarbelise pointer, kaardi iteraatoris itereerima kogu kaart massiivi ja ekraanOma andmete standard väljund:

    eest (map & lt; string, char & gt; :: iteraatoris im = dB.begin (); im! = dB.end (); im ++) {

    cout & lt; & lt; im-& gt; esimene & lt; & lt; "" & lt; & lt; im- & gt; teine ​​& lt; & lt; Endl;

    }

  7. Eemalda kõik andmed andmebaasist järgmiselt:

    dB.clear ();

Tips & amp; Hoiatused

  • Testimaks, kas element on kaardil, kasutada leid () funktsioon ja võrrelge iteraatoris tagastadaiteraatoris lõpus kaardil.
  • STL Multimap võib seostada mitme väärtuse ühe võtme.
  • Kuna võtmed hoitakse sorteeritud järjekorras soojaks andmed on mõnevõrra aeglasem kaardil kui teistes massiivid.

Resources

  • Cplusplus.com pakub täielikku C ++ õpetused.
  • Bruceeckel.com pakub kahte Internetis raamatuid C ++.
  • C / C ++ Kasutajad Journal on suunatud poole C ++ arendajad.
514
0
1
C / C ++ Programming