![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| GVD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 29.7.2006 Репутация: нет Всего: нет |
Ситуация такова:
в классе должен быть динамический массив тип данных которого определяется в процессе выполенния программы (BYTE, WORD или DWORD), естественно все операции по обработке элементов массива реализуются в методах данного класса. Простое объявление указателя на void не проходит. Кто-нибудь что-либо подобное делал? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
GVD,
Возможны варианты: 1. union 2. boost::any 3. всё-таки void* |
|||
|
||||
| GVD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 29.7.2006 Репутация: нет Всего: нет |
Если брать union, то в методах класса необходимо прописывать разные имена переменных- элементов массива. Наверное проще объявить три массива разного типа. Или я не прав?
Если все-таки void , то исходник плизззз! Про саму библиотеку boost слышал, но если можно, то поподробнее. |
|||
|
||||
| ILAgent |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 1.3.2006 Репутация: нет Всего: нет |
Можно шаблонами, проще - контейнерами. А что за задача, почему всё нельзя DWORD сделать ?
|
|||
|
||||
| GVD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 29.7.2006 Репутация: нет Всего: нет |
Задача - разработка класса реализации генетического алгоритма. Каждый ген представляется некоторым количеством бит и выбор этого количества пользователь определяет в процессе функционирования программы, т.е. заранее нельзя определить тип массива.
И насколько я понимаю при использовании шаблонов в классе также необходимо указать тип переменных. Или я не прав? |
|||
|
||||
| Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 3 Всего: 30 |
|
|||
|
||||
| GVD |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 29.7.2006 Репутация: нет Всего: нет |
Всем спасибо!
Сделал с помощью void и memcpy. Шаблоны не подошли (да и не могли). |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |