Hjem Personlig finansiering Bygg konstant Arrays i C ++ - dummies

Bygg konstant Arrays i C ++ - dummies

Video: Section, Week 6 2024

Video: Section, Week 6 2024
Anonim

Hvis du har en matrise og du ikke vil at innholdet skal endres, kan du gjøre det til en konstant rekkefølge. Følgende kodelinjer, funnet i Array05-eksemplet, demonstrerer denne tilnærmingen:

const int Permanent [5] = {1, 2, 3, 4, 5}; cout << permanent [1] << endl;

Dette arrayet fungerer som et annet array, bortsett fra at du ikke kan endre tallene i den. Hvis du legger til en linje som følgende linje, får du en kompilatorfeil, fordi kompilatoren er klar over konstanter:

Permanent [2] = 5;

Her er feilen du får når du prøver dette i Kode:: Blokker:

Feil: Tilordning av skrivebeskyttet plassering. Permanent [2] '

Hva med en konstant rekke ikke-konstant? Kan du gjøre det? Vel, noen ganger - avhengig av kompilatoren. Så fryktelig som den følgende koden (funnet i Array06-eksemplet) ser ut - og det er ikke ANSI-standard! - du har lov til å gjøre dette med eldre versjoner av gcc-kompilatørene. (Microsoft Visual C ++ og Borland C ++ Builder tillater ikke det, og Kode:: Blokker kompilator presenterer deg med en feil: Feilmelding om feil oppgavetilordning.)

int NonConstant [5] = {1, 2, 3, 4, 5}; int OtherList [5] = {10, 11, 12, 13, 14}; OtherList = NonConstant;

Med andre ord sier den tredje linjen: "Glem hva OtherList peker på; I stedet gjør det punkt til den første gruppen, {1, 2, 3, 4, 5}! "Nå, du virkelig burde ikke skrive kode som dette (husk, hold ting enkelt og forståelig), så hvis du vil hindre denne typen ting, kan du gjøre arrayet konstant:

< ! --3 ->
const int NonConstant [5] = {1, 2, 3, 4, 5}; const int OtherList [5] = {10, 11, 12, 13, 14}; OtherList = NonConstant;

Nå, når kompilatoren kommer til den tredje linjen, gir den deg en feil:

feil: tildeling av skrivebeskyttet variabel 'OtherList'

Men du kan merke at måten du gjorde arrayet konstant var på samme måte som du gjorde elementene konstant i koden som kom like før dette eksemplet. Oops! Hva handler det om? Det viser seg noen regler.

Følgende liste beskriver reglene i detalj for å lage arrayer konstant:

  • Hvis du vil lage en matrise konstant, kan du forutse sin type med ordet const. Når du gjør det, er arraynavnet konstant, og elementene i arrayet er også konstant. Dermed kan du ikke ha en konstant rekkevidde med ukonstruerte elementer, og du kan heller ikke ha en uavhengig rekke med konstante elementer.

  • Begrepet nonconstant array eksisterer bare i gcc og er ikke ANSI-standard.

Hvis du virkelig ønsker å bli teknisk, sier C ++ ANSI-standarden at når du legger ordet const foran en array-deklarasjon, gjør du ikke arrayet konstant; du sier at arrayet bare inneholder konstanter.

Likevel, når du bruker const på denne måten, gjør de fleste kompilatorer også arrayet selv konstant. Men det er greit. folk bør ikke ta et array navn og kopiere det til noe annet. Det er ikke bra programmeringsstil, og det ber bare om feil - eller i det minste forvirring - senere.

Bygg konstant Arrays i C ++ - dummies

Redaktørens valg

Vanlige medikamenteffekter for legeassistenteksamen - dummies

Vanlige medikamenteffekter for legeassistenteksamen - dummies

Bli kjent med vanlige bivirkninger for legeassistenteksamen (PANCE). Den gjennomsnittlige personen over 60 år tar omtrent ni reseptbelagte medisiner og ser minst fire forskjellige helsepersonell. Potensialet for noen til å oppleve bivirkningene av disse medisinene er enorm, og det er potensialet for signifikante legemiddelinteraksjoner. ...

Epidemiologiske studier dekket av legeassistenteksamen - dummies

Epidemiologiske studier dekket av legeassistenteksamen - dummies

For legeassistenteksamen (PANCE) du bør være oppmerksom på forskjellene mellom typer epidemiologiske studier. Det første trinnet er å gjenkjenne om studiet er en retrospektiv studie eller en prospektiv studie: Retrospektiv: En retrospektiv studie betyr at du ser på fortiden for å finne ut hva som skjedde. For eksempel, en ...

Forhold som påvirker pleura dekket på legeassistenteksamen - dummies

Forhold som påvirker pleura dekket på legeassistenteksamen - dummies

Du kan se Spørsmål om legeassistenteksamen om forhold som påvirker pleura. Du må vurdere evaluering og behandling av pleural effusions, pneumothorax og pleurisy. Væske rundt lungene: Pleural effusjon Normalt er pleura et tomt rom; en pleural effusjon er ganske enkelt væske som opptar den plassen. Pleural ...

Redaktørens valg

Slik setter du automatiske varsler på LinkedIn - dummies

Slik setter du automatiske varsler på LinkedIn - dummies

Sikkert, du kan gjøre alt fotverket ved å gå til LinkedIn hjemmesiden og ser deg rundt for å se hvilke meldinger eller endringer som har skjedd. Den sanne kraften til å holde kontakten, har imidlertid LinkedIn, kontakter deg automatisk med den informasjonen du trenger for å holde deg informert. Klikk på Administrer-koblingen ved siden av Personvern og innstillinger ...

Tips for å administrere dine LinkedIn Post-interaksjoner - dummies

Tips for å administrere dine LinkedIn Post-interaksjoner - dummies

Når du klikker Publiser på LinkedIn, kan du tenke at jobb er ferdig, men det er bare begynt. Etter hvert som flere og flere leser innlegget ditt, kan de samhandle med innlegget og med deg som forfatter. Her er noen ting å huske på etter at du har publisert et innlegg: Overvåk statistikken. Når du ...

Forstå LinkedIn Pulse - dummies

Forstå LinkedIn Pulse - dummies

Har du sjekket ut LinkedIn Pulse ennå? Tenk deg om du leser en avis som bare viste deg artikler som har betydning for deg. (For det hele, for mange av dere, tenk på de dagene du kanskje har lest en avis.) Tilpassede nyheter er mulige, og på LinkedIn kalles det LinkedIn Pulse. Alt du trenger å gjøre for å ...

Redaktørens valg

Hva Dragon NaturallySpeaking kan gjøre for deg - dummies

Hva Dragon NaturallySpeaking kan gjøre for deg - dummies

Noe om å diktere til en datamaskin vekker alle slags urealistiske forventninger hos mennesker. Hvis du forventer at du skal servere deg frokost på sengen, har du lykke til. Denne artikkelen ble ikke skrevet ved å si "Computer, skriv en bok om NaturallySpeaking. "Forfatteren måtte diktere det ord for ord, akkurat som hun ville hatt ...

Når Start ikke starter i NaturallySpeaking - dummies

Når Start ikke starter i NaturallySpeaking - dummies

Når du gir kommandoen "Start" til Dragon NaturallySpeaking, du sier "Start America Online" eller "Start Microsoft Works" eller "Start Quicken", og programmet skal åpnes. Men hva hvis det ikke gjør det? Hva er greia? Start-kommandoen starter et program som er installert på maskinen din, og har enten et snarveisikon på ...

Når NaturallySpeaking Menykommandoer ikke fungerer - dummies

Når NaturallySpeaking Menykommandoer ikke fungerer - dummies

Når du gir en kommando til NaturallySpeaking, for eksempel "Klikk" og ingenting skjer, det sannsynlige problemet er at menyen Bruk menyer som er kompatible med skjermlesere, ikke er merket av. For å sjekke det: Velg Verktøy → Valg i vinduet NaturallySpeaking. Det er ikke noe poeng å fortelle deg hvordan du får tilgang til dette med stemmen, for det er akkurat ...