Как стать автором
Обновить

Комментарии 11

Так толком и не понял что именно оптимизируется? Работа с одиночными битами в больших наборах? Как правило это редко нужно, а там где нужно не критично к времени доступа.
В примере с клавиатурой, наверняка есть способ обработки состояний кнопок оптом, по 8-16-32 за раз в т.ч. и сканирование на физическом уровне. У нас между сканами каждой линии кнопок есть десятки тысяч тактов… точно нужна оптимизация быстродействия?
Оптимизируется требуемая память и быстродействие, а больше оптимизировать и нечего :)
Ну а насчет нужности оптимизации — в конце поста есть опрос.
Можно ссылку на макросы Чижова? Библиотеку Loki за авторством Александреску знаю, а упомянутые макросы что-то не гуглятся.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо.
поясните плиз про статический и не статический атрибут?

возможно поможет если сделать базовый класс для статических классов, и отдельно шаблонную фабрику с двумя реализациями, одна с constexpr для наследников базового класса, и вторая для всех остальных. в первом случае объект будет в РОМ без возможности изменения его полей во втором в РАМ с возможность изменения полей.
см. пример для Синглтона onlinegdb.com/rJdn0g6t4
Имеется в виду константа времени компиляции и «честный» — неопределенный в момент компиляции — аргумент.
кстати, для ARM bitset очень даже хороший. можно использовать как есть, единственное инициализация Битов за 64 байта только через конструктор со строкой на входе… что смотрится ужасно. Поэтому в свое время переписал, добавить вариадик конструктор, с передачей номеров Битов, которые нужно установить. Смотрится явно понятнее.
Да, для ARM он вполне себе нормальный, я для «слабых» архитектур МК старался.
Адаптация bitset как части стандартной библиотеки к конкретному железу — вещь полезная, но вот пример с клавиатурой на мой взгляд выбран неудачно.
Из-за этого на опрос сложно ответить объективно, например я считаю:
А. Конкретно для клавиатуры особо быстрый bitset не особо нужен, и оптимизировать его излишне, ну не зажимают часто быстро большое количество кнопок (преждевременная оптимизация);
Б. Для других задач оптимизация bitset может быть необходима;
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории