Wpis z mikrobloga

@Kempes: I tak daleko wysunięte założenie, że 7 bitów jest zmarnowanych. x86 ma bajt wielkości 8 bit, ale są (ale głownie były) platformy, które miały bajt 10 bit czy 12.

Bitfields albo enum flags. @Antyradek a specjalizacja std::vector dla booleana to jest raczej coś, czego chcesz unikać Mirek
@Passer93: Bo nie posiada bool’i tylko działa na pojedynczych bitach żeby przycebulic na pamięci. I problem możesz mieć kiedy zapytasz o adres elementu spod twojego std::vector. Najmniejsza adresowana jednostka pamięci to bajt. A jak masz mniej niż bajt? No cóż... nie zrobisz wskaźnika do mniej niż bajtu.

Kontener który ma jasne wytyczne odnośnie działania na pamięci zachowuje się inaczej w jednym przypadku.
No ale przecież o to właśnie chodzi. Nikt nie robi vectora booli zeby potem operowac na nim wskaźnikami. Operujesz indeksami przez operator[] i wszystko działa pieknie.
@Passer93: No chyba ze tak robisz ale ja tam lubię taki memset zrobić z innego kontenera (np tworząc go kiedy dostaje dane z C API). Zrobię resize, memset i wyjdzie mi bagno bo ta specjalizacja nie jest taka, jakiej oczekuje. Jak napiszesz sobie do tego memseta jeszcze szablonowe utility function, to albo wiesz o tym wybryku, albo się skapniesz dużo później ze dla bool musisz pisać osobno.

Poza tym to chyba