Hem Personliga finanser Bygga konstant arrayer i C ++ - dummies

Bygga konstant arrayer i C ++ - dummies

Video: Data Structures Summary 2024

Video: Data Structures Summary 2024
Anonim

Om du har en array och du inte vill att innehållet ska ändras kan du göra det konstant. Följande kodkod, som finns i Array05-exemplet, visar detta tillvägagångssätt:

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

Denna array fungerar som vilken som helst annan matris, förutom att du inte kan ändra siffrorna inuti den. Om du lägger till en rad som följande rad får du ett kompilatorfel, eftersom kompilatorn är medveten om konstanter:

Permanent [2] = 5;

Det här är felet som du får när du försöker detta i kod:: Block:

Fel: Tilldelning av skrivskyddad plats. Permanent [2] '

Vad sägs om en konstant rad av nonconstants? Kan du göra det? Tja, ibland - beroende på kompilatorn. Så hemskt som följande kod (som finns i Array06-exemplet) ser ut - och det är inte ANSI-standard! - du får göra detta med äldre versioner av gcc-kompilatorn. (Microsoft Visual C ++ och Borland C ++ Builder tillåter inte det, och kompilatorns kod:: blocks presenterar ett fel: felaktigt arraytilldelningsfel.)

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

Med andra ord säger den tredje raden: "Glöm vad OtherList pekar på; istället, gör det peka på den första matrisen, {1, 2, 3, 4, 5}! "Nu, du egentligen borde inte skriva kod så här (kom ihåg att sakerna är enkla och förståeligt), så om du vill förhindra denna typ av sak kan du göra arrayen konstant:

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

När kompilatorn kommer till den tredje raden får du ett fel:

Fel: Tilldelning av skrivskyddad variabel 'OtherList'

Men du kanske märker att sättet du gjorde arrayen var konstant var på samma sätt som du gjorde dess element konstanta i koden som kom precis före detta exempel. hoppsan! Vad handlar det om? Det visar sig att det finns vissa regler.

Följande lista beskriver reglerna i detalj för att göra arrays konstanta:

  • Om du vill göra en array konstant kan du förutse dess typ med ordet const. När du gör det är matrisnamnet konstant, och elementen i matrisen är också konstanta. Således kan du inte ha en konstant uppsättning med icke-konstanta element, och du kan inte heller ha en icke-konstant uppsättning med konstanta element.

  • Begreppet nonconstant array existerar endast i gcc och är inte ANSI-standard.

Om du verkligen vill bli teknisk, säger C ++ ANSI-standarden att när du lägger ordet const framför en arraydeklaration gör du inte matrisen konstant; du säger att matrisen bara innehåller konstanter.

Men när du använder const på så sätt gör de flesta kompilatorer också matrisen själv konstant. Men det är bra. folk borde inte ta ett array namn och kopiera det till något annat. Det är inte bra programmeringsstil, och det är bara att begära buggar - eller åtminstone förvirring - senare.

Bygga konstant arrayer i C ++ - dummies

Redaktörens val

Hitta hur du betalar webbplatser i online dating - dummies

Hitta hur du betalar webbplatser i online dating - dummies

Du får vad du betalar för I livet ingår Internet-dating webbplatser. Till skillnad från gratis webbplatser, med lönesidor har du inte huvudvärk på oändliga reklammeddelanden som skriker i ditt ansikte. Dessutom är omfattningen av täckning och tillgängliga funktioner bred och robust. Solid tillsyn tillhandahålls (för att gräva ut wackos) och lämpliga hinder ...

Dating för Dummies Cheat Sheet - dummies

Dating för Dummies Cheat Sheet - dummies

Dating behöver inte vara nervös, men det kräver förberedelse . Du måste göra en uppriktig själsökning så att du är redo att vara ärlig, öppen och uppmärksam. Du behöver en stark känsla för dina dejtingförväntningar så att du tydligt kan kommunicera vad du letar efter utan att ställa in baren så hög att ingen ...

Få passar för dating igen efter 50 - dummies

Få passar för dating igen efter 50 - dummies

Copyright © 2014 AARP All rights reserved. Du behöver inte vara frisk och frisk efter 50, men det hjälper säkert om du är. Om du inte är något av dessa saker, behöver du inte ge upp och tycker att det är för sent att komma dit. Många börjar träningsregler så sent som ålder ...

Redaktörens val

ÄR ett au pair rätt för din familj? - dummies

ÄR ett au pair rätt för din familj? - dummies

Det är viktigt att undersöka dina specifika familjeförhållanden för att avgöra om ett au pair är rätt barnomsorg för din familj. Du kanske bestämmer dig för att anställa ett au pair i stället för daghem, barnbarn eller barnpassare om du vill utsätta din familj för en ny kultur. Är ...

Online-verktyg för familjebudgetar - dummies

Online-verktyg för familjebudgetar - dummies

Vissa familjer kan tycka att den mest användbara aspekten av att bo i en värld med nästan oändliga onlineverktyg innebär att kunna budgetera för familjen med dessa verktyg. Följande tre onlinetjänster erbjuder familjer ett sätt att organisera familjeutgifter online, dela åtkomst till säkra konton och eliminera några av papperet ...

Barn som Online Entreprenörer - Dummies

Barn som Online Entreprenörer - Dummies

Levande i en digital värld tillåter barnen obegränsade möjligheter när det gäller entreprenörskap. Denna digitala tidsålder ger barnen en unik färdighetssats med möjlighet att dela den färdigheten med andra och lägga till "onlineföretagare" till listan över möjliga efterskolor och sommarjobb som finns tillgängliga för barn idag. Spelskapande Ett område där digitalt ...

Redaktörens val

Word 2007 Mail Merge - Steg 3: Byggnadsrekord - dummies

Word 2007 Mail Merge - Steg 3: Byggnadsrekord - dummies

Efter att ha definierat de fält du behöver för din Word 2007-postfusion, är nästa steg att slutföra adresslistan. För att göra det skapar du en lista över poster genom att ange data för varje fält i varje post. Detta händer i dialogrutan Ny adresslista. Kom ihåg att fält är kolumner och ...

Word 2007 Mail Merge - Steg 5: Final Merge - dummies

Word 2007 Mail Merge - Steg 5: Final Merge - dummies

Med sammanfogningsfälten infogad i huvudversionen av Word 2007-dokumentet och adresslistan stannar, är du redo att starta din mailfusion! Spara huvuddokumentet. Klicka på knappen Förhandsgranska resultat. Fälten i huvuddokumentet försvinner! De ersätts av information från den första posten i adresslistan. Så här ...