Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
11.4.2010, 8:56 | Секреты и интересные возможности Qt | Думаю что в данной теме необходимо упомянуть об интересной возможности Qt - функции прямого копировани участков памяти :
Данная функция копирует n байт из src в dest. Разумеется, вся ответственность за проверку размеров лежит на программисте. Для примера использования могу показать приведение типов, обычными способами которое производится довольно трудоемко, а именно - мне надо было работать со строками в их битовом представлении. В Qt есть два класса - QString и QBitArray, возможности нормальной конвертации данных между ними я найти не смог, а требование к производительности кода было достаточно высоко, пришлось сделать так:
И здесь еще есть инетересная особенность класса QBitArray, как вы заметили для обращения к данным в нем мы прибавляли к указателю 1, т.е. данны идут со второго байта, но почему? А потому, что биты из QBitArray хранятся как реальные биты, но т.к. в памяти минимальная еденица хранения - байт, то что же делать с массивом например из 9 бит? Так вот в этом первом байте как раз хранится количество используемых бит последнего байта массива. Все просто =) |
Litkevich Yuriy, molchanoviv, | ||
![]() |
|
Текстовая версия | Сейчас: 13.4.2025, 9:43 |