![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Doc_d0s |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 15.12.2004 Где: в кресле Репутация: 2 Всего: 3 |
Надо сделать так, чтобы в структуре мог быть массив переменного размера!!!!
типа так:
, но не стоит меня называть придуркм и оленем язнаю что так нельзя, но тогда как поменять размерность массива во время выполнения программы? --------------------
Админ- это вождь Apache'й :) |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Например так:
|
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
malloc, realloc, free - вот они!
|
|||
|
||||
| _dreamer_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.12.2004 Репутация: нет Всего: нет |
А может все проще - использовать std::vector<> или std::string ?
они уж за памятью сами уследят. |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
sergej.z память лучше выделять...;)
--------------------
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Для начала и так вполне нормально. Главное идея указателая на любой участок памяти ;) |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
|
|||
|
||||
| LuckLess |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.9.2004 Репутация: 1 Всего: 1 |
Это был собстно я.
|
|||
|
||||
| Doc_d0s |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 15.12.2004 Где: в кресле Репутация: 2 Всего: 3 |
Да вы не поняли надо чтобы память выделялась без явного указания размера
во как --------------------
Админ- это вождь Apache'й :) |
|||
|
||||
| Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: 5 Всего: 44 |
В принципе использовать stl, но лучше при любом случае, как-то извратится и определить сначала размер. Файл, ты судя по всему создаешь тоже программно.
Так вот в этом случае, лучше строку сделать статической длинны, тогда , загрузить/выгрузить структуру из /в файла можно одной строкой И еще, извени, но у тебя жудкие дэфайны -------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
размер файла узнаёшь таким образом:
Это и будет размер массива |
|||
|
||||
| _dreamer_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.12.2004 Репутация: нет Всего: нет |
p+sizeof(socker)*i - судя по всему это попытка получения указателя на i-ый элемент массива p. тогда если p имеет тип socker* - ерунду получишь. (выход за пределы массива)
не надо мудрить, пиши просто p[i]. Или просто *(p + i). и в конце память освобождаеться должна как delete [] p; |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |