Kempes
Kempes
155
  • Najlepsze
  • Wszystkie komentarze
Fulleks
Fulleks
68
@Kempes: stać nas na to. A można jeszcze nulla w tym upchnąć
Sierzant_Stuleja
@Kempes: long double x = true;
Kto mi zabroni? ( ͡° ͜ʖ ͡°)
plusujemny
@Kempes: od tego są bitsety, od tego są one
Sierzant_Stuleja
@Dorianek: Nie bardzo.
Patuptap
Patuptap
@Kempes: Operacje bitowe FTW
balbezaur
@Fulleks: co to boolean?
W.....0
Dorianek
@Sierzant_Stuleja: kompilator
Antyradek
@Kempes: Procesor pracuje na bajtach, więc dla niego to tak samo szybko.
A na przechowanie czasami masz optymalizacje, np. std::vector.
L.....c
@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
pielgrzym_wladca_egiptu
@Latawiec: w ogóle jeśli chodzi o optymalizacje std::vector to coś co powinno się omijać xd
L.....c
@pielgrzym_wladca_egiptu: nie kumam, jakie optymalizacje?
Rokand
Rokand
Aaa o nie a ja mam tylko 16 GB ramu
Passer93
@Latawiec: dlaczego unikac specjalizaji vectora dla booli? Nie kumam
L.....c
@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.
Passer93
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.
L.....c
@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