Несколько std :: Необязательно <> и другие вещи, без расточительной прокладкиC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Несколько std :: Необязательно <> и другие вещи, без расточительной прокладки

Сообщение Anonymous »

Когда вы создаете класс, который включает в себя несколько участников std :: Необязательно , например, < /p>

Код: Выделить всё

class A {
bool flag;
optional param1;
optional param2;
}
< /code>
его хранение очень расточительно: из -за выравнивания парных разрядов каждый из логических, вместо идеального 1 байта будет принять 8 байт. Очевидно, что все было бы лучше, если бы мы могли хранить все три лодки рядом друг с другом, а затем два двойника, с одной прокладкой вместо трех, но как? Я хочу только избавиться от его расточительной прокладки. Просто multi_optional_extra  
. Но мне интересно, есть ли более простое решение.


Подробнее здесь: https://stackoverflow.com/questions/796 ... ul-padding
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Союз [лист, нет] против Необязательно [лист] против Необязательно ['Liste']
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Союз [лист, нет] против Необязательно [лист] против Необязательно ['Liste']
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • `std::map<std::string, enum{1, 2, 3, 4}>` (или std::map<std::string, tuple<bool, bool>>`) кэширует` против `std: :set<st
    Anonymous » » в форуме C++
    0 Ответы
    327 Просмотры
    Последнее сообщение Anonymous
  • Почему я не могу назначить std :: Необязательно std :: lock_guard?
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Почему я не могу назначить std :: Необязательно std :: lock_guard?
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

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