Vektoren er en klasse i vektorbiblioteket som er inkludert i programmet. Fra samme vektorklasse kan forskjellige vektorobjekter bli instantiert. Vektorobjektklæring uten minnetildeling for elementene er instantiering. Vektorobjektdeklarasjon med minnetildeling for elementene er fremdeles instantiering.
Ideelt sett gjøres initialisering under instantiering. Imidlertid, når erklæring utføres uten minnetildeling for elementene, må initialiseringen gjøres ved å tildele eller pushing_back (inn), startverdier.
Denne informasjonen gir to situasjoner for initialisering: initialisering med vektoroppretting som en definisjon eller initialisering etter erklæring uten definisjon etter tildeling (eller pushing_back inn).
Vektorskaping kan klassifiseres i to kategorier: Vektorskaping med elementer og vektorskaping uten elementer. Målet med denne artikkelen må tolkes som: hvordan lage en vektor med alle innledende elementer som er null. For å ha en vektor med alle elementer null må typen elementer være int eller float eller deres varianter. Vi vil bruke Type Int i denne artikkelen.
Initialisering ved vektorskaping med elementer
Opprette med initializer_list
Initializer_list er en liste over verdier av samme type atskilt med komma, og avgrenset med tannregulering. Det er to syntaks for å lage en vektor med initializer_list. Syntaksene er:
vektor og operatør = (initializer_listFor å lage en vektor med alle nuller, bør alle verdiene i initializer_listen bare være nuller. Følgende program illustrerer dette ved hjelp av den første syntaksen der initializer_listen er tilordnet vektorobjektet med tildelingsoperatøren:
#inkludereUtgangen er:
0 0 0 0 0I programoverskriften ble vektorbiblioteket inkludert. Vektorerklæring finnes i den første uttalelsen i hovedfunksjonen. Vektorinnholdet vises ved resten av koden i hovedfunksjonen.
For den andre syntaksen er den andre parameteren valgfritt og vil ikke bli inkludert i følgende program. For denne andre syntaksen er initializer_listen argumentet til vektorkonstruktørfunksjonen. Følgende program illustrerer bruken av den andre syntaksen:
#inkludereUtgangen er:
0 0 0 0 0Inngangen var fem nuller, og utgangen er de samme fem nulene.
Antall vektorelementer kjent på forhånd
Antall vektorelementer kan være kjent på forhånd, men de faktiske elementene er kanskje ikke kjent på forhånd. I dette tilfellet bør vektoren fortsatt initialiseres til nuller. Vektorskapingssyntaks for dette er:
vektor (størrelse_type n, const t & verdi, const allocator & = allocator ())Den tredje parameteren er valgfri og vil ikke være en del av følgende program. Det første argumentet er antall elementer, og det andre argumentet er standardverdien, som i dette tilfellet er null for alle elementene. Følgende program viser hvordan du bruker denne syntaks for en vektorstørrelse på 5:
#inkludereUtgangen er:
0, 0, 0, 0, 0Initialisering etter vektoroppretting uten elementer
Her opprettes en tom vektor før initialisering. Syntaksen for å lage en tom vektor er:
Vector () NoExcept (NOExcept (Allocator ())): Vector (allocator ())Syntaksen for å tilordne startverdier til en vektor med initializer_listen, er:
void tilordne (initializer_listFølgende program oppretter en tom vektor og tildeler deretter nuller til elementene:
#inkludereUtgangen er:
0 0 0 0 0Den første uttalelsen i hovedfunksjonen skaper den tomme vektoren. Den andre uttalelsen er initialiseringen ved bruk av Assign () medlemsfunksjonen. Argumentet til Assign () medlemsfunksjonen er initializer_list med hvert element i null.
Syntaksen for å tilordne standardverdier til en vektor, når antall elementer er kjent på forhånd, er:
void tilordning (størrelse_type n, const t & u);Med denne syntaksen er det første argumentet antall elementer i vektoren, og det andre argumentet er standardverdien. For initialisering med nuller, bare lag standardverdien null. Husk at dette skal gjøres når en tom vektor er opprettet. Følgende program illustrerer dette:
#inkludereUtgangen er:
0 0 0 0 0Skyver tilbake
Etter at en tom vektor er opprettet, kan et antall nuller skyves_backed inn i vektoren for initialisering som illustrert i følgende program:
#inkludereUtgangen er:
0 0 0 0 0VEKTOR av standardtypeverdier og initialisering
Hvis antallet elementer er kjent på forhånd, vil du uten å indikere verdiene, er standardverdiene for typen være de opprinnelige verdiene. Standardverdien for typen int er null. Syntaksen for å lage en slik vektor er:
Eksplisitt vektor (størrelse_type n, const allocator & = allocator ())Det andre argumentet er valgfritt og kan utelates. Det første argumentet er størrelsen på vektoren. Hvis vektortypen er int, vil de opprinnelige verdiene alle være nuller. Følgende program illustrerer dette:
#inkludereUtgangen er:
0 0 0 0 0Konklusjon
Størrelsen på vektoren i alle kodeprøvene ovenfor er 5. Ethvert annet antall kan brukes. En vektor kan initialiseres med alle nuller på tre hovedmåter: a) Bruk initializer_list, b) Bruk tildelingen () vektormedlemmet til en tom vektor (eller push_back ()), eller c) bruk int eller float som mal Parameterspesialisering for en vektor av opprinnelig bare standardverdier.