Huis Persoonlijke financiën Constante arrays bouwen in C ++ - dummies

Constante arrays bouwen in C ++ - dummies

Video: Data Structures Summary 2024

Video: Data Structures Summary 2024
Anonim

Als u een array hebt en niet wilt dat de inhoud ervan verandert, kunt u er een constante array van maken. De volgende coderegels, gevonden in het voorbeeld Array05, demonstreren deze benadering:

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

Deze array werkt net als elke andere array, behalve dat u de getallen erin niet kunt wijzigen. Als u een regel toevoegt zoals de volgende regel, krijgt u een compileerfout, omdat de compiler weet van constanten:

Permanent [2] = 5;

Dit is de fout die optreedt wanneer u dit probeert in Code:: Blokken:

Fout: toewijzing van alleen-lezen locatie 'Permanent [2]'

Hoe zit het met een constante reeks nonconstants? Kan je dat doen? Welnu, soms - afhankelijk van de compiler. Zo afschuwelijk als de volgende code (gevonden in het voorbeeld van Array06) eruit ziet - en het is geen ANSI-standaard! - je mag dit doen met oudere versies van de gcc-compilers. (Microsoft Visual C ++ en Borland C ++ Builder staan ​​dit niet toe, en de code:: Blocks-compiler presenteert u een foutmelding: ongeldige toewijzing van array-toewijzing.)

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

Met andere woorden, die derde regel zegt: "Vergeet waar OtherList naar verwijst; in plaats daarvan, wijs het naar de eerste array, {1, 2, 3, 4, 5}! "Nu moet je echt geen code als deze schrijven (onthoud, hou dingen eenvoudig en begrijpelijk), dus als je dit soort dingen wilt voorkomen, kun je de array constant maken:

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

Nu, als de compiler de derde regel bereikt, krijg je een foutmelding:

fout: toewijzing van alleen-lezen variabele 'OtherList'

Maar je merkt misschien dat de manier waarop je de array constant hebt gemaakt op dezelfde manier dat je de elementen ervan constant hebt gemaakt in de code die net voor dit voorbeeld kwam. Oops! Waar gaat dat allemaal over? Blijkt dat er enkele regels zijn.

De volgende lijst beschrijft de regels, in detail, om arrays constant te maken:

  • Als u een array constant wilt maken, kunt u het type voorafgaan met het woord const. Wanneer u dit doet, is de arraynaam constant en zijn de elementen in de array ook constant. U kunt dus geen constante array met niet-constante elementen hebben, noch kunt u een niet-constante array met constante elementen hebben.

  • Het begrip niet -constante array bestaat alleen in gcc en is niet ANSI-standaard.

Als je echt technisch wilt worden, zegt de C ++ ANSI-standaard dat wanneer je het woord const voor een array-declaratie plaatst, je de array niet constant maakt; je zegt dat de array alleen constanten bevat.

Maar als je const op deze manier gebruikt, maken de meeste compilers de array zelf ook constant. Maar dat is prima; mensen zouden geen arraynaam moeten nemen en deze naar iets anders moeten kopiëren. Dat is geen goede programmeerstijl en het vraagt ​​gewoon om bugs - of op zijn minst verwarring - later.

Constante arrays bouwen in C ++ - dummies

Bewerkers keuze

Een Oracle-omgeving instellen - dummies

Een Oracle-omgeving instellen - dummies

Als u een typische PL / SQL-omgeving wilt instellen, hebt u de volgende componenten: Databaseserver: dit is een computer (of een reeks computers) die de Oracle-database uitvoert. Oracle werkt in veel populaire computeromgevingen. De meest gebruikte met Oracle zijn UNIX, Linux of een versie van Microsoft Windows. PL / SQL wordt meestal uitgevoerd ...

SQL-rijwaarden en -waarden - dummies

SQL-rijwaarden en -waarden - dummies

De waarden die worden bewaard in de cellen die de snijpunten van de SQL-database vormen De rijen en kolommen van de tabel zijn de grondstoffen waaruit u zinvolle relaties en trends kunt afleiden. Rijwaarden De meest zichtbare waarden in een database zijn tabelrijwaarden. Dit zijn de waarden die elke rij van een databasetabel ...

SQL eerste, tweede en derde normale vormen - dummies

SQL eerste, tweede en derde normale vormen - dummies

Er zijn drie bronnen van wijzigingsanomalieën in SQL Deze worden gedefinieerd als eerste, tweede en derde normale vormen (1NF, 2NF, 3NF). Deze normale vormen fungeren als remedies voor het wijzigen van anomalieën. Eerste normale vorm Om in de eerste normale vorm (1NF) te zijn, moet een tabel de volgende eigenschappen hebben: De tabel is tweedimensionaal met rijen en ...

Bewerkers keuze

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een veel voorkomende misvatting is dat wanneer de kinderen van een stel vertrekken thuis, zullen pappa en mama het syndroom van empty-nest ontwikkelen. Ja, ze hebben misschien een leeg nest, maar voor sommige paren bloeit hun liefdesleven in deze periode van hun leven. De slachtoffers van het syndroom zijn de paren waarvan de relatie uit elkaar valt als zij de enige ...

STD's: wat u moet weten over herpes - dummies

STD's: wat u moet weten over herpes - dummies

Herpes, veroorzaakt door het herpes simplex-virus (HSV) ), is een ongeneeslijke SOA. Herpes heeft eigenlijk twee vormen: herpes simplex-type 1 (HSV-1) en herpes simplex-type 2 (HSV-2). HSV-1 wordt meestal geassocieerd met koortsblaasjes en koortsblaren boven de taille. "Ongeveer 80 procent van de Amerikaanse volwassenen heeft orale herpes. Ongeveer 25 procent van ...

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Een van de grootste vragen voor tieners is niet "Zou ik seks moeten hebben? "Maar" Hoe ver moet ik gaan? "Terwijl het eigen comfortniveau en dat van de partner de topprioriteit zou moeten zijn in deze beslissing, spelen andere factoren een rol, vooral als tieners dat amorfe concept van" het derde honk overwegen. "" Derde basis "...

Bewerkers keuze

Tien voorwaarden American Football Announcers Gebruik - dummies

Tien voorwaarden American Football Announcers Gebruik - dummies

Een van de moeilijkste en meest intimiderende onderdelen over het volgen van een Amerikaans voetbalwedstrijd is dat de presentatoren soms een vreemde taal lijken te spreken die alleen bekend is bij echte voetballiefhebbers. Maar als je een aantal belangrijke termen onthoudt, ben je ver voor op het spel. Hier zijn enkele voetbaltermen die je misschien hoort, ...

Het begin van een voetbalspel: The Kickoff - dummies

Het begin van een voetbalspel: The Kickoff - dummies

Voor Amerikaanse voetbalfans, de openingsaftrap is een opwindende start voor elke game. Ze zien de tweezijdige sensatie van het ene team dat probeert het andere te blokkeren en helpt de herhaler om door en voorbij 11 snelladers van het trapende team te rennen. (Wel, maak die tien spelers.De kicker staat meestal rond de 50-yard-lijn, ...

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Elk kind in uw team is anders zoveel manieren. Sommigen zijn begaafde hardlopers, anderen kunnen duizelingwekkende vangsten maken en wat moeite om simpelweg de basistechnieken van het spel te vatten. Ongeacht de sterke en zwakke punten van de kinderen, die overal op de kaart staan, hebben jongeren algemene kenmerken die worden beïnvloed ...