Hepimizin bildiği gibi (umarım) vector<bool>
, tamamen bozuktur ve bir C dizisi olarak ele alınamaz. Bu işlevi almanın en iyi yolu nedir? Şimdiye kadar düşündüğüm fikirler:
vector<char>
Bunun yerine a kullanın veya- Bir sarmalayıcı sınıfı kullanın ve
vector<bool_wrapper>
Siz bu sorunu nasıl çözüyorsunuz? c_array()
İşlevselliğe ihtiyacım var .
Bir yan soru olarak, c_array()
yönteme ihtiyacım yoksa , rastgele erişime ihtiyacım varsa bu soruna yaklaşmanın en iyi yolu nedir? Süs veya başka bir şey kullanmalı mıyım?
Düzenle:
- Dinamik boyutlandırmaya ihtiyacım var.
- Bilmiyorum olanlar için,
vector<bool>
her şekilde uzmanlaşmıştırbool
1 bit alır. Dolayısıyla, onu C tarzı bir diziye dönüştüremezsiniz. - Sanırım "sarmalayıcı" biraz yanlış bir isim. Bunun gibi bir şey düşünüyordum:
Elbette, my_bool
olası hizalama sorunları nedeniyle aşağıdakileri okumam gerekiyor :(
struct my_bool
{
bool the_bool;
};
vector<my_bool> haha_i_tricked_you;