Hjem Personlig finansiering Bygning Konstant Arrays i C ++

Bygning Konstant Arrays i C ++

Video: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2025

Video: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2025
Anonim

Hvis du har en matrix, og du ikke vil have indholdet til at ændre, kan du gøre det til et konstant array. Følgende kodelinjer, der findes i Array05-eksemplet, viser denne fremgangsmåde:

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

Dette array fungerer som et andet array, bortset fra at du ikke kan ændre tallene inde i det. Hvis du tilføjer en linje som den følgende linje, får du en compilerfejl, fordi kompilatoren er opmærksom på konstanter:

Permanent [2] = 5;

Her er den fejl, du får, når du prøver dette i Kode:: Blokke:

Fejl: Tildeling af skrivebeskyttet placering 'Permanent [2]'

Hvad med et konstant udvalg af nonconstants? Kan du gøre det? Nå, nogle gange - afhængigt af kompilatoren. Så forfærdeligt som den følgende kode (fundet i Array06-eksemplet) ser ud - og det er ikke ANSI-standard! - Det er tilladt at gøre dette med ældre versioner af gcc-kompilatorerne. (Microsoft Visual C ++ og Borland C ++ Builder tillader det ikke, og Code:: Blocks compiler præsenterer dig med en fejl: Fejlmeddelelse om ugyldig array-tildeling.)

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

Med andre ord siger den tredje linje: "Glem hvad OtherList peger på; i stedet gør det til det første array, {1, 2, 3, 4, 5}! "Nu skal du virkelig ikke skrive kode som denne (husk, hold tingene simple og forståelige), så hvis du vil forhindre denne slags ting, kan du gøre arrayet konstant:

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

Nu, når kompilatoren kommer til den tredje linje, giver den dig en fejl:

fejl: tildeling af skrivebeskyttet variabel 'OtherList'

Men du bemærker måske, at måden du lavede arrayet konstant var på samme måde som du lavede sine elementer konstant i den kode, der kom lige før dette eksempel. Ups! Hvad handler det om? Udviser der er nogle regler.

Følgende liste beskriver reglerne i detaljer for at lave arrayer konstant:

  • Hvis du vil lave en matrix konstant, kan du forudgå sin type med word const. Når du gør det, er arraynavnet konstant, og elementerne inde i arrayet er også konstant. Således kan du ikke have et konstant array med nonconstant elementer, og du kan heller ikke have et uafbrudt array med konstante elementer.

  • Begrebet nonconstant array findes kun i gcc og er ikke ANSI-standard.

Hvis du virkelig ønsker at blive teknisk, siger C ++ ANSI-standarden, at når du sætter ordet const foran en array-erklæring, laver du ikke arrayet konstant; du siger at arrayet kun indeholder konstanter.

Men når du bruger const på denne måde, gør de fleste kompilatorer også arrayet selv konstant. Men det er fint; folk bør ikke tage et array navn og kopiere det til noget andet. Det er ikke en god programmeringsstil, og det beder bare om fejl - eller i det mindste forvirring - senere.

Bygning Konstant Arrays i C ++

Valg af editor

Hvordan man vælger vielsesringe

Hvordan man vælger vielsesringe

Selvom brudgommen handler solo til forlovelsesringen, sporer par normalt hinanden om deres vielsesringe. Nogle vælger matchende vielsesringe, men det behøver du ikke. Hvis du vil have et almindeligt guldband og din forlovede ønsker noget mere avanceret, er der ingen grund til, at du ikke begge kan have det, du vil have. Vælg en ...

Hvordan man holder styr på bryllupsgaver

Hvordan man holder styr på bryllupsgaver

Mister sporet af bryllupsgaver og deres givere kan være et mareridt . I det øjeblik du åbner en bryllupsgave, skriv ned hvad det er, hvem gav det til dig og datoen. Disse oplysninger kan gå på et indekskort med gæstens øvrige oplysninger i et regneark. Optag også, når du sender hver ...

Hvordan man vælger en forlovelsesring - dummier

Hvordan man vælger en forlovelsesring - dummier

Bragt til dig af Engagement og vielsesringe kommer i et stort udvalg af stilarter og materiale. Når man handler for forlovelses- og vielsesringe, går mange par sammen - eller i det mindste forudforhandler sammen, så hver person har en ide om den andens smag. Når du vælger ringe, skal du overveje din livsstil og prisklasse, og ...

Valg af editor

Forbedre dine Excel-rapporter ved de-Emphasizing Borders - dummies

Forbedre dine Excel-rapporter ved de-Emphasizing Borders - dummies

Borddesign er en af ​​de mest undervurderede bestræbelser i Excel-rapportering. Tro det eller ej, grænser kommer i vejen for hurtigt at læse dataene i en tabel. Fordi grænserne hjælper med at adskille data i pænt opdelte sektioner, kan det virke kontraintuitivt, men virkeligheden er, at bordets grænser er det første, du ...

Identificere problemet, som din finansielle model skal løse - dummies

Identificere problemet, som din finansielle model skal løse - dummies

En økonomisk model er normalt bygget for at besvare et spørgsmål eller at løse et problem. For eksempel spørgsmålet "Skal jeg købe dette nye aktiv? "Kan resultere i en model, der indeholder cash flow analyse, som sammenligner cash flow, hvis aktivet er købt versus, hvis det ikke købes. "Hvor meget skal ...

Sådan bruges VBA-regnearkfunktioner i Excel 2016 - dummies

Sådan bruges VBA-regnearkfunktioner i Excel 2016 - dummies

Selvom VBA tilbyder et anstændigt sortiment af bygget - i funktioner, kan du ikke altid finde præcis, hvad du har brug for. Heldigvis kan du også bruge de fleste af Excels regnearkfunktioner i dine VBA-procedurer. De eneste regnearkfunktioner, som du ikke kan bruge, er dem, der har en tilsvarende VBA-funktion. For eksempel kan du ikke bruge Excel's RAND ...

Valg af editor

Sådan går du ind i en Ham Radio Contact - dummies

Sådan går du ind i en Ham Radio Contact - dummies

Nogle gange kan du ikke vente på slutningen af ​​en kontakt til at ringe til en skinke radiostation. Afbrydelse af en anden kontakt kaldes at bryde ind (eller bryde). Den rigtige procedure er at vente på en pause i kontakten og hurtigt sige "Break" (eller send BK med Morse kode) efterfulgt af dit kaldesignal. Hvorfor gør du ...

Basics of High Frequency (HF) Ham Radios - Dummies

Basics of High Frequency (HF) Ham Radios - Dummies

Alle moderne skinke radioer har perfekt brugbar modtagelse og transmittere ydeevne. Forskellene involverer ydeevne på flere nøgleområder, såsom evnen til at modtage i nærvær af stærke signaler, signalfiltrering og filterstyringsfunktioner, dækning af et eller flere VHF / UHF-bånd, driftsfunktioner såsom subreceivers og antal indbyggede i antenne tunere. HF-radioer ...

Sådan vælger du en Ham Radio Antenne - Dummies

Sådan vælger du en Ham Radio Antenne - Dummies

Det er svært at sige, hvilket er vigtigt for en skinke radio operatør: radioen eller antennen. At klare mangler i en ved at forbedre den anden er vanskelig. En god antenne kan gøre en svag radio lyd bedre end den anden vej. Du skal give antennevalg mindst lige så meget ...