Assosiatiiviset Container C ++ yksinkertaistettu Johdanto säiliö on instantiated objekti, joka on listan (array) sen olennainen ominaisuus. Toisin array lista, säiliö voi kasvaa tai pienenee koko (pituus). Eri säiliöihin on erilaisia ominaisuuksia ja menetelmiä. On olemassa kahdenlaisia säiliön luokkia, kutsutaan sekvenssit ja Assosiatiiviset kontit. Tässä artikkelissa, minä esitellä sinulle opetusohjelma sarjan C ++ Associative Kontit. Olen kirjoittanut eri sarjassa konttien Sequence, joka sinun kannattaa lukea ennen luet tätä.
Ero Container sekvenssi ja Assosiatiiviset Container Suurin ero Kontit sekvenssin ja Assosiatiiviset Säiliö on, että säiliö (vektori) käyttää indeksi pääsy elementin arvo, kun taas assosiatiivinen säiliö (Map) käyttää avain (teksti) pääsyn elementti arvo. Rajoitukset Array Kuvittele, että haluat poistaa elementin C ++ array. Se ei ole mahdollista. Voit asettaa arvon C ++ array null, mutta et voi poistaa elementti. Kuvittele, että haluat lisätä elementin (ja arvo) päälle jono. Se ei ole mahdollista. Kuvittele, että haluat lisätä elementin (ja arvo) pohjaan jono.
Tämä ei ole mahdollista C ++ jono. Ne ja muut vaatimukset tarvitaan moderni ohjelmissa. Ratkaisu rajoitukset C ++ Array rajoituksista johtuen edellä, C ++ keksi sekvenssit ja assosiatiivinen kontteja. On olemassa erilaisia assosiatiivinen säiliön. Yksi niistä kutsutaan, Kartta ratkaista edellä mainitut ongelmat ja enemmän. Jokaisessa assosiatiivinen kontti on etunsa ja haittansa. C ++ on täydellinen kieli. Mitään ei todella jätetty pois. Jos olet opiskellut kieltä kuin JavaScript, olisit huomannut, että sen matriisi on todella esine, joka ratkaisee edellä mainitut ongelmat menetelmillä.
C ++ array ei ole objekti suppeassa merkityksessä. Kuitenkin, C ++, assosiatiivinen säiliöt ovat esineitä. C ++ on vanha kieli ja niin se lähestyi tämän ongelman alkuperäinen näkökulmasta. Mielestäni kirjoittajat (keksijät) joidenkin uusien kielten saivat inspiraationsa C ++. Sitten he keksivät kompromisseja. He ruoko kanssa paneelit, jotka ovat esineitä, joka tekee joitakin asioita, että C ++ kontit tehdä, mutta eivät kaikki. Itse Javascriptin erityisesti ei ole vastaavia assosiatiivinen säiliöön.
Haluaisin huomauttaa tässä, että JavaScript ei ole kirjoitettu samaan tarkoitukseen kuin C ++; ehkä siksi se ei ole niin voimakas. C ++ on totuttuihin aikaa ja se kilpailee raivokkaasti kanssa uusia kieliä. Joten, olen vahvasti neuvoo opiskelemaan assosiatiivinen astiaan. Opetusohjelma