Я записываю очень большие данные в файл, это результат кодирования Хаффмана, который мне нужно сохранить в файл и прочитать позже. Я натолкнулся на идею использования dynamic_bitset для обработки битов. Я проверил мой код на небольших данных, и он отлично работает, но на больших данных (кодирование изображения) он терпит неудачу и вылетает. Вот как выглядит переменная, которую я пытаюсь сохранить:
_encodedSig {m_bits={ size=46944 } m_num_bits=1502195 } boost::dynamic_bitset<unsigned long,std::allocator<unsigned long> > &
Однако, когда я использую функцию size (), она возвращает 16, что меня смущает. Я попытался протестировать, чтобы преобразовать его в unsigned long, но он выдает исключение. Интересно, сколько данных может обрабатывать динамический bit_set и почему m_num_bits не равен size (). Буду признателен за любые мысли и идеи.
Задача ещё не решена.
Других решений пока нет …