![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
Добрый день.
Понадобилось мне с битовыми множествами работать; проглядев хелп, нашел bitset. и тут оказалось что его размер должен задаваться на этапе компиляции ( что за бред? ). собственно вопрос: можно ли что-то сделать что бы размер задавался просто константой? Заранее благодарю за ответ. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
А что это? -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Fire-Plug |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2005 Репутация: -1 Всего: 0 |
То же, что и последовательность битов. Или же ты про STL класс bitset спрашиваешь? --------------------
Объясни другому - поймешь сам (Народная примета) |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Да нет. Я в о общем спрашиваю. Я не очень понял зачем _hunter нужен bitset... _hunter, напиши пример того, что ты хочешь сделать. Может тут и bitset никакой не нужен? -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Fire-Plug |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2005 Репутация: -1 Всего: 0 |
Размер bitset задается в конструкторе константным выражением, к-рое как известно, вычисляется на этапе компиляции. Например, (© MSDN)
--------------------
Объясни другому - поймешь сам (Народная примета) |
||||
|
|||||
| Олег М |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 436 Регистрация: 10.6.2004 Где: Москва Репутация: 7 Всего: 7 |
Тебе скорее всего надо std::vector<bool> - это битовый массив |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
std::bitset - предназначен для битовых множеств с постоянной длиной. Если длина может изменяться, то используется std::vector<bool>. В нормальных реализациях STL присутствует специализация этого шаблона, в котором один элемент занимает один бит. Но в STL от MSVC++ 6.0 такой специализации нет, там один элемент std::vector<bool> занимает байт. Начиная с седьмой версии это исправили.
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| Dark Elf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 26.12.2003 Где: Брисбен Репутация: 9 Всего: 10 |
Мой тебе совет - используй boost::dynamic_bitset
Ссылка на библиотеку BOOST Кроме того на форуме chipset выложил мой перевод документации к нему: Документация на форуме |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Я бы посоветовал почитать Мейерса "эффективное использование STL". Там по-поводу bitset'ов много интересных замечаний в конце книги. и добрый совет напоследок - использовать vector<char> вместо vector<bool>
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
cardinal, мне именно с набором битов работать нужно. ( пока и работаю с vactor<bool> просто у bitset' a есть куча удобных операторов... )
DENNN, а чем ector<char> лучше vector<bool>? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
_hunter, тебя спасет великий буст: boost::dynamic_bitset. Быстро и удобно...
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
не уверен что он под билдер станет...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Dark Elf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 576 Регистрация: 26.12.2003 Где: Брисбен Репутация: 9 Всего: 10 |
2 _hunter - а почему ты считаешь что не станет?
Вон сколько платформ поддерживается: http://boost.org/more/getting_started.html |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |