Met behulp van opgesomde typen als Bitflags


met behulp van de individuele bits in elke formaat integer is a common en zeer nuttig (dat wil zeggen, sober en spaarzaam) manier vlaggen toevoegen aan een programma. In plaats van met behulp van Booleaanse waarden of andere integerwaarden met mogelijk overal van 8 bits (één byte) tot zelfs vier bytes (32 bits), u kunt in plaats daarvan 'spiegelen' bits binnen een geheel getal als een atomaire opslaglocatie gebruikt. Natuurlijk, door atomaire, ik verwijs naar elke afzonderlijke bits waaruit het gehele getal als zijn eigen unieke, bruikbare, ondeelbaar, atomaire eenheid.

Vaak vlaggen worden gespecificeerd in hexadecimale notatie met gebruikmaking van de bevoegdheden van twee (voor toegang tot de locaties van de individuele bits) en gemaakt met behulp van de notatie waarin de betekenis van de locatie van een bepaalde bit in de vlag van een geheel getal zonder voorteken. Er zijn verschillende problemen met dit ondanks zijn populariteit en breed gebruik. Het eerste probleem is dat zodra u uw vlagwaarden hebt gedefinieerd, is het bijna onmogelijk om het invoegen van nieuwe vlaggen behalve aan het eind, opdat u moet passen en een verschuiving naar beneden alle achterstand waarden achter de nieuw ingevoegde. Dan, misschien, het belangrijkste probleem is dat het niet type-veilig. Dat wil zeggen, de manier waarop bits waarden zijn meestal gedefinieerd (met behulp van de preprocessor macro #define) staat voor een strenge controle van het type tijdens het compileren, waardoor de controle voor de runtime, die kan maken en verspreiden van soms zeer subtiele fouten in uw code niet toe.

Dit korte instructable zal je laten zien een nieuwe methode voor het maken van vlaggen met behulp van de bits-waarden van een geheel getal dat niet alleen u invoegen van nieuwe vlaggen kunt omdat zij zonder enige hernummering nodig zijn, maar biedt ook sterke type-checking, ook.

Labels: Code, Vlag, Bits, Cpp, Bitvlaggen

Gerelateerde Artikelen

Met behulp van uw auto als een zonne-oven.

Met behulp van uw auto als een zonne-oven.

Met behulp van uw auto als een zonne-oven. (of waarom niet te verlaten kinderen of huisdieren in de auto wanneer het het warm buiten). Ik zou waarschijnlijk hebben gemaakt een ei mcmuffin-look-a-like door te laten wat melk stremmen om kaas en een koe
Schets naar Atmega328P-PU branden op een Breadboard met behulp van Arduino Uno als programmeur

Schets naar Atmega328P-PU branden op een Breadboard met behulp van Arduino Uno als programmeur

Er zijn al verschillende instructables op hoe te branden van de Arduino schets naar Atmega328P-PU op een breadboard met behulp van verschillende USB - UART modules. Echter, zoals de meeste van deze modules zijn gemaakt in China, ze zijn slecht gedocu
FerretPi: Met behulp van Raspberry Pi als een beveiligde FTP-Server

FerretPi: Met behulp van Raspberry Pi als een beveiligde FTP-Server

ik weet wat je denkt: "hoe cool zou het zijn als ik had mijn eigen Google Drive/SkyDrive/Dropbox die ik gebruiken kan wanneer ik wil?" Of misschien bent u gewoon het krijgen in de beweging van de Maker en je denkt dat het is het grootste ding si
Met behulp van slimme telefoon als Motion Sensor Alarm

Met behulp van slimme telefoon als Motion Sensor Alarm

Vandaag, we leven in een wereld waar smart telefoons worden steeds goedkoper, fundamentele Android telefoon gewoon kosten ongeveer 60 dollar in het deel van de wereld waar ik woon in. Ongeacht het merk en model van het OS, bijna elke slimme telefoon
Branden van de Bootloader op de ATMega328 met behulp van Arduino UNO als ISP

Branden van de Bootloader op de ATMega328 met behulp van Arduino UNO als ISP

UPDATE: deze tutorial zal werken op de Arduino IDE 1.0.1, de recente 1.0.5 brengt enkele wijzigingen op de schets van de ISP, dus ik ben niet zeker of het zal werken (ik kocht 2 ATMega328 en verbrand, zowel op 1.0.1).Gebruik 1.0.1 om eventuele proble
Met behulp van een telefoon als een toestel voor een Handheld Radio

Met behulp van een telefoon als een toestel voor een Handheld Radio

dit instructable toont hoe het bouwen van een adaptter die het mogelijk maakt een telefoon als een toestel gebruikt voor een bidirectionele radio. Het voordeel is dat meer ergonomisch lust voor de gebruiker dan een headset mic regeling kan worden. He
Met behulp van een stappenmotor als Automotive snelheidssensor

Met behulp van een stappenmotor als Automotive snelheidssensor

ik was op zoek naar enkele snelheidssensor voor mijn snelheidsmeter projectEr zijn veel ideeën als het gaat om de snelheidssensoren.1-variabele terughoudendheid magnetische halen (zoals automotive ABS sensoren)2 - IR LEDs & IR detectoren3 - Hall effe
Met behulp van de ShopBot als een Plotter

Met behulp van de ShopBot als een Plotter

ik heb zin om dit te doen al geruime tijd, en gewoon de andere dag ik ten slotte gebruikt de ShopBot Alphain TechShop San Jose uitzetten in een gevectoriseerde San Jose Sharks-logo dat ik gemaakt met behulp van Illustrator.Het proces is vrij eenvoudi
Met behulp van foto Sensor als analoge Imput

Met behulp van foto Sensor als analoge Imput

hier zijn we met behulp van verschillende weerstanden van de foto als knoppen. Het idee is als u dekking van dat de weerstand is, net als u zijn het indrukken van een knop.Stap 1: Wat we nodig hebben -Arduino-100 k weerstand-Photosensor-Kabel-Manneli
Met behulp van uw telefoon als een tracking-apparaat

Met behulp van uw telefoon als een tracking-apparaat

als je ooit behoefte aan te weten van de verblijfplaats van een individu, zij het uw kinderen, uw echtgenoot of een persoon die van belang, Apple heeft de app voor u. Dit instructable leert u wat u nodig hebt, waar te krijgen het, en tactiek voor de
Met behulp van Arduino UNO als hoge resolutie 3-CH DAC's

Met behulp van Arduino UNO als hoge resolutie 3-CH DAC's

In deze toepassing geven we een demo over het bouwen van een hoge precisie-voeding met behulp van de DAC-3000 en een hoge precisie referentiebron REF4096.Step1:List van materiaaleBay winkel adres:BUONO UNO R3REF-4096 + DAC-3000UM-UNO (Unsoldered) of
Met behulp van een Comparator als een omvormer

Met behulp van een Comparator als een omvormer

wanneer heb je sommige comparatoren ofwel reeds in uw circuit of ingebouwd in uw MCU, er zijn sommige handige trucs die u kunt gebruiken.  De volgende zal u tonen hoe u een Comparateur kunt gebruiken om een logica-omvormer.Uw signaal wordt toegestuur
Met behulp van schoen rekken als kleerhangers

Met behulp van schoen rekken als kleerhangers

Sommige artikelen van kleding moeten nooit worden gebracht in een droger, met inbegrip van alle kleding met een label zeggen "lijn alleen droge" en alle draad beha's en ondergoed. Meestal moet iets met elastiek ook worden opgehangen om te drogen
Met behulp van Arduino Leonardo als muis en toetsenbord, controle via bluetooth.

Met behulp van Arduino Leonardo als muis en toetsenbord, controle via bluetooth.

Een awsome functie in Arduino Leonardo, waardoor het speciale bord, is dat het als muis en toetsenbord op de computer fungeren kan. Dit zou nuttig zijn om de controle van de computer door andere manier, zoals een joystick en hier BLUETOOTH!dingen die