Hallo, ich wollte mal fragen, ob es Vorteile gibt bei der Verwendung von bool als Funktionsparameter oder return-Wert. Der Compiler könnte ja den wert in einem Status-Flag speichern und dann auswerten? Werden mehrere bools auch auf ein 8-bit Wert automatisch gemappt oder werden separate Variablen angelegt? Ist bei Funktionsparametern ein Status register mit mehreren Flags (Bitpositionen) zwei einzelnen bool Parametern vorzuziehen? Zumindest habe ich bei gcc inline assembler noch keine Entsprechung gefunden. Danke für eure Kommentare? Adib. --
> Ist bei Funktionsparametern ein Status register mit mehreren Flags > (Bitpositionen) zwei einzelnen bool Parametern vorzuziehen? Wenn es nicht gerade ein ganz kleiner µC ist, dann weder noch, sondern enums mit C++. Das dokumentiert, und es wird gleichzeitig vom Compiler geprüft. Beim "Refactoring" sorgt auch der Compiler dafür, dass es weniger Probleme gibt. Eclipse kann die eingesetzten enum-Werte mittels "References" besser auffinden als reine Textsuche. Was liest sich besser: x(true, false) [mit bool] oder x(State_Enable, Mode_Immediate) [die enum-Variante] ? Natürlich geht auch x(ENABLE | IMMEDIATE) [mehrere Flags] oder im ersten Fall lesbarer mit #define/const. Aber nur mit C++ und enums kann er auch prüfen, ob es inhaltlich passt. > Werden mehrere bools auch auf ein 8-bit Wert automatisch gemappt oder > werden separate Variablen angelegt? M. W. wird hier pro bool (also pro bit) ein ganzes byte "verschwendet". Den Luxus gönne ich mir. -fshort-enums sorgt dafür, dass es bei enums nicht "ausufert".
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.