Imidlertid støttes ikke arrays med variabel størrelse av C ++ -standarden (til C ++ 11). Array -størrelse er et konstant uttrykk i C ++ 11 -standarden. Som et resultat kan det hende at programmet ovenfor ikke er et akseptabelt C ++ -program. Ettersom GCC -kompilatoren har en utvidelse for å imøtekomme dem, kan programmet fungere med GCC -kompilatoren. Som lite mer er arraystørrelsen nå et enkelt uttrykk i C ++ 14 (ikke konstantuttrykk).
Det er ikke ønskelig å måtte generere et potensielt stort utvalg på en stabel med begrenset plass. Hvis du ikke er klar over på forhånd, vil vi skrive skadelig kode. Arrays med variabel lengde støttes ikke innfødt i C ++ fordi de vil nødvendiggjøre betydelige typer systemendringer.
Her, i C ++ -artikkelen, vil vi vise hvordan vi kan overvinne C ++ ISO Forbidden Lengde-lengde-feilfeil på samlingentiden.
Eksempel 1: Program for å implementere en variabel lengde matrise i C ++ med GCC-kompilator
Arrays med variabel lengde kan velge hvilken som helst størrelse som brukeren ønsker, i.e., De kan være varierende i størrelse. Følgende er et C ++ -program for å lage matriser med variabel lengde:
Vi har C ++ overskriftsfiler i det første trinnet og navnefilen. Etter det har vi programmets hovedmetode, og hovedorganet har pekervariabelen erklæring som "matrise" og den andre variabelen "Arr_size" -erklæring. Cout skriver ut uttalelsen som ber brukeren et nummer for matrise størrelse. Deretter vil CIN ta tallverdien fra brukeren. Variabelen “Array” kalles der vi har satt størrelsen på matrisen.
Nå har vi også bedt om matriseverdiene fra brukeren. Array -verdien vil iterere av for loop til den når matrisstørrelsen. Deretter brukes det andre for loop til å skrive ut verdiene i matrisen, og samtidig har vi slettet matrisen ved å bruke Delete [] -uttrykket i programmet.
#inkludereSkallet viser en melding for å legge inn arraystørrelsen etter samlingen. Når brukeren legger inn størrelsen på matrisen da, ber skallet brukeren om å angi verdiene for matrisen. Størrelsen på matrisen og dens elementer er tilgjengelige som følger. Derfor kan vi implementere en variabel lengde matrise i C ++ uten et forbudt unntak.
Eksempel 2: Program for å implementere en variabel lengde matrise i C ++ ved å bruke vektorer
C ++ STL gir en vektor som et alternativ til matriser med variabel lengde. Det passer for en rekke applikasjoner. Det vil være tydeligere med C ++ -programmet, som vi har implementert nedenfor.
Som vi må bruke vektorer i programmet vårt. Så den viktigste delen er å definere vektoren som en overskriftsfil øverst i kodeimplementeringen. Vi har lagt til vektorfilen i delen av overskriften.
Innenfor programmet har vi en vektorklasse med Type Int, og vektorklassen har en variabel “V.”Vi har lagt til fem elementer av type heltall i vektoren. Etter det har vi en for loop iterasjonssyklus. Inne i for -loopen har vi erklært en iterator til en vektor med en ny variabel “den.”Deretter har" IT "-variabelen en start- og sluttfunksjon for å vise elementene i vektorene.
#inkludereOvennevnte program gir utdataene slik.
Eksempel 3: Program for å implementere en variabel lengde matrise i C ++ ved å bruke STD :: Vector
Vektorer brukes til å bære sammenlignbare datatyper i C++. Størrelsen på en vektor, i motsetning til matriser, kan vokse dynamisk. Vi kan justere vektorstørrelsen etter behov gjennom hele programutførelsen. Vektoroverskriftsfilen må inkluderes i vårt program for å bruke vektorer. Når vektorbiblioteket er inkludert i overskriftsfilen, kan vi bruke vektor som std :: vektor i programmet.
Etter å ha inkludert vektorbiblioteket øverst, har vi kalt STD :: Vector i programmets hovedfunksjon. Vektoren er deklarert som "tall" og initialisert med de fem tilfeldige numeriske verdiene. Variabelen “tall” er igjen definert, som har tre vektorelementer fra den ovennevnte vektorbeholderen. STD :: cout brukes til å vise lengden på vektoren i variabelen "nummer" ved å bruke størrelsesfunksjonen.
#inkludereUtgangen viser lengden på den spesifiserte vektorarrayen som følger.
Konklusjon
Oppsummerer! Her har vi en detaljert diskusjon om matriser med variabel lengde i introduksjonen. Dermed lærte vi at C ++ forbyr matriser med variabel lengde (VLA). Vi har spesifisert noen måter ovenfor for å implementere den variable lengdeoppstillingen i C ++ og alternative måter for variabel-lengde-matrisen. Disse kan være nyttige når du samhandler med de variable lengde-matriser i C++.