Могу ли я проверить небольшой массив bools за один раз?

Был похожий вопрос здесь , но пользователь в этом вопросе, похоже, имел гораздо больший массив или вектор. Если у меня есть:

bool boolArray[4];

И я хочу проверить, являются ли все элементы ложными, я могу проверить [0], [1], [2] и [3] либо по отдельности, либо я могу просмотреть Это. Поскольку (насколько мне известно) значение false должно иметь значение 0, а все, кроме 0, - значение true, я подумал о том, чтобы просто сделать: и int - четыре байта. Если я приведу к (std :: uint32_t), все будет в порядке, или это все-таки плохая идея? Просто у меня в массиве 3 или 4 bools, и мне было интересно, если это безопасно, а если нет, то есть ли лучший способ сделать это.

Кроме того, в случае, если у меня больше 4 бул, но меньше 8, могу ли я сделать то же самое с std :: uint64_t или без знака long или что-то в этом роде?

28
задан JamesFromIT 22 August 2019 в 17:20
поделиться