As (hoffentlich) wir alle wissen, vector<bool>
total kaputt ist und nicht als c-Array behandelt werden. Was ist der beste Weg, um diese Funktionalität zu bekommen? Bisher haben die Ideen, die ich gedacht sind:Alternative zum Vektor <bool>
- stattdessen ein
vector<char>
verwenden oder - Verwenden Sie eine Wrapper-Klasse und haben
vector<bool_wrapper>
Wie euch dieses Problem umgehen? Ich brauche die c_array() Funktionalität.
Als Seite Frage, ob ich() -Methode nicht das c_array benötigen, was ist der beste Weg, um dieses Problem zu nähern, wenn ich mit wahlfreiem Zugriff benötigen? Soll ich eine Deque oder etwas anderes benutzen?
Edit:
- ich dynamische Dimensionierung tun müssen.
- Für diejenigen, die nicht wissen, ist
vector<bool>
spezialisiert, so dass jeder Bool 1 Bit nimmt. Daher können Sie es nicht in ein c-artiges Array konvertieren. - Ich denke, "Wrapper" ist ein bisschen falsch. Ich war so etwas wie dieses Denken:
Natürlich dann muss ich wegen möglicher Ausrichtungsprobleme in eine my_bool lesen :(
struct my_bool
{
bool the_bool;
};
vector<my_bool> haha_i_tricked_you;
Gibt es einen Grund, nicht ... ein C-artiges Array zu verwenden? – kquinn
rlbond, brauchen Sie dynamische Größe? –
Ok ich beiße -. Warum Vektor "" total kaputt“ist –