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

Hur man tar bort eller minimerar webbdelar i SharePoint 2013 - dummies

Hur man tar bort eller minimerar webbdelar i SharePoint 2013 - dummies

Du har två alternativ för att ta bort en webbdel från din SharePoint-sida - stängning eller radering. Att stänga en webbdel lämnar webbdelen på sidan så att du kan aktivera den igen för framtida användning. Att ta bort webbdelen tar bort webbdelen från din sida (men tar inte bort den från SharePoint). Till ...

För att ladda ner Apps från SharePoint Store - dummies

För att ladda ner Apps från SharePoint Store - dummies

Förutom de appar som följer med SharePoint, Du kan också lägga till appar från tredje part. Dessa tredjepartsprogram visas i SharePoint-butiken. Om du använder SharePoint Online har du tillgång till hela butiken. Om du använder SharePoint On-Premise kan dina lokala IT-administratörer ha låst ned de appar som ...

Hur man visar visningar via webbdelar i SharePoint 2013 - dummies

Hur man visar visningar via webbdelar i SharePoint 2013 - dummies

Du vill visa din SharePoint appdata med annan text och webbdelar på flera platser, till exempel hemsidor för hemsida, webbsidor eller publiceringssidor. I dessa situationer vill du inte att dina användare ska interagera med själva appen med alla redigeringsalternativ. Du vill bara att de ska se flera ...

Redaktörens val

Vad är Kik? - dummies

Vad är Kik? - dummies

Grundades 2009, är Kik en gratis snabbmeddelandeprogram utvecklad från Kik Interactive. Kik är tillgängligt på Android, Windows Phone och iOS-enheter. Applikationen är modellerad efter BlackBerry Messenger. Kik använder den befintliga smarttelefonens dataplan eller Wi-Fi för att skicka och ta emot meddelanden, videoklipp, foton, mobila webbsidor, skisser och annat innehåll. ...

ÖVersätt Twitter Slang och Jargon - dummies

ÖVersätt Twitter Slang och Jargon - dummies

Diskussioner om och om Twitter är fulla med alla slags förkortningar och jargong som kan förvirra nya Twitter-användare. Vad talar folk om (och tweeting) om? Följande ordlista definierar några av de förvirrande förkortningarna och Twitter-lingo du kan komma över. AFAIK: Så vitt jag vet. bot: Ett konto som drivs av en ...

Vad är Letgo? - dummies

Vad är Letgo? - dummies

Letgo är en mobil klassificerad applikation som tillåter användare att köpa från och sälja till andra lokalt. Du kan använda Letgo till fyndbutik eller slutligen släppa på saker som samlar damm runt ditt hus. I likhet med andra classifieds-applikationer som Wallapop eller Craigslist kommer säljare att skicka ett objekt och vänta på en köpare ...

Redaktörens val

Vanliga kodningsfel - dummies

Vanliga kodningsfel - dummies

Koden fungerar inte? Här är några vanliga misstag som kan gå upp till och med även den mest erfarna kodaren. Om din kod inte kommer att köras, försök att springa ned den här checklistan för att se om du har några av dessa fel: Har inte en slutlig HTML-tagg efter varje öppnande HTML-tagg . Saknade parentes i ...

Grundläggande kodningsordförråd - dummies

Grundläggande kodningsordförråd - dummies

Kodning har ett omfattande vokabulär som för lekmän kan verka som ogenomtränglig technobabble. Oavsett om du läser kodningsrelaterad artikel online eller pratar med en utvecklare på jobbet hörs det kanske ord som du inte har hört förut eller som har en annan mening i en kodande kontext. Här är några vanliga ordförrådsord att veta: Allmänt ...