Являются ли логические переменные обычно реализованными в виде отдельных битов? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Являются ли логические переменные обычно реализованными в виде отдельных битов? [дубликат]

Сообщение Anonymous »


Возможный дубликат:

Однобайтовое логическое значение. Почему?


Я хочу добавить логическую переменную в класс. Однако этот класс очень чувствителен к размеру, и в результате мне не хотелось бы добавлять еще одно поле. Однако он состоит из кучи членов шириной не менее символа и одного другого типа bool.

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

Так вот, обычно ли компиляторы делают этот трюк? Единственная причина, по которой я могу запретить им этого делать, заключается в том, что для извлечения этого фрагмента потребуется дополнительная маска.

Подробнее здесь: https://stackoverflow.com/questions/146 ... ingle-bits
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»