2017-06-17 1 views
6

Est-ce que le std::array<bool> met en œuvre la même optimisation de mémoire de garniture de bits que std::vector<bool>?Comportement de std :: array <bool> par rapport à std :: vector <bool>

Merci!

+8

Non, ce n'est pas le cas. –

+0

Même le comité standard [a appris leurs erreurs] (https://howardhinnant.github.io/onvectorbool.html) ;-) – zett42

+0

@NeilButterworth pourquoi? Pourquoi n'est-ce pas une représentation valide du 'tableau '? http://coliru.stacked-crooked.com/a/6a2087c3125e0f52 –

Répondre

7

Non, std::array n'a pas de spécialisation pour bool type.

Vous pouvez trouver plus de détails here, mais, au fond, std::array est juste:

un type global avec la même sémantique que d'une structure tenant un tableau de style C T [N]

et dans le cas de bool vous pourriez le considérer comme un tableau de booléens de style C, et non comme un binaire.

+0

Merci beaucoup! –

+0

@ClioCallida Vous êtes les bienvenus :) –