Dynamisches <bitset>
-
Ist vector<bool> nicht irgendwas Abgedrehtes, nur kein container?
Umfasst der Begriff "Abgedreht" bei dir explizite Templatespezalisierung + die Anwendung des Proxy-Patterns? Falls ja, dann ist vector<bool> in der Tat abgedreht
Richtig ist auch, dass vector<bool> die im Standard festgelegten Container-Bedingungen *nicht* erfüllt. Es ist also kein Container im Sinne des C++ Standards.In "Effective STL" steht IMHO, dass man vector<bool> nur selten benutzen sollte, da es sich nicht wie ein Container verhält.
Auch das stimmt. Nur heißt "selten" ja nicht "nie". vector<bool> ist kein Container und (was problematischer ist) drückt einem auch noch eine ganz bestimmte Optimierung auf's Auge. Dazu kommt, dass ein vector<bool> keine bools enthält, was nicht gerade zum Verständnis beiträgt.
Da ich aber in der Frage nirgends erkennen konnte, dass unbedingt ein Container (im Sinne des C++ Standards) benötigt wird und da *explizit* der Wunsch nach Größenoptimierung aufkam, sehe ich nicht, warum man vector<bool> hier von vorneherein ausschließen sollte.
-
Was ist eigentlich mit boost::dynamic_bitset? Ich habs mir noch nie angeschaut, kann also nicht sagen, ob es hier passend ist.
-
Helium schrieb:
Was ist eigentlich mit boost::dynamic_bitset? Ich habs mir noch nie angeschaut, kann also nicht sagen, ob es hier passend ist.
Davon habe ich ja noch nie was gehört. Hast Du vielleicht mal 'ne Referenz parat?
-
Hast Du vielleicht mal 'ne Referenz parat?
Startest du hier:
http://www.boost.orgDann dem Link "Documentation" folgen.
Und schwupps:http://www.boost.org/libs/dynamic_bitset/dynamic_bitset.html