2017-06-17 21 views
6

Czy std::array<bool> implementuje taką samą optymalizację pamięci bitów, jaką ma std::vector<bool>?Zachowanie std :: array <bool> vs. std :: vector <bool>

Dzięki!

+8

Nie, nie ma. –

+0

Nawet standardowy komisarz [dowiedział się o swoich błędach] (https://howardhinnant.github.io/onvectorbool.html) ;-) – zett42

+0

@NeilButterworth dlaczego? Dlaczego nie jest to poprawna reprezentacja 'tablica '? http://coliru.stacked-crooked.com/a/6a2087c3125e0f52 –

Odpowiedz

7

Nie, std::array nie specjalizuje się w typie bool.

można znaleźć więcej szczegółów here, ale w zasadzie, std::array tylko:

agregat typ z tych samych semantyki jak struct posiadających C-styl tablicy T [N]

, aw przypadku bool możesz uznać go za tablicę w stylu C, a nie dowolny bitset.

+0

Dziękuję uprzejmie! –

+0

@ClioCallida Nie ma za co :) –