![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Nikita_85 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.7.2007 Репутация: нет Всего: нет |
Здравствуйте!
В моей программе размер массива зависит от входного файла. подскажите, пожалуйста, можно ли создать массив с изменяющимся числом элементом, а не с постоянным. Заранее спасибо! |
|||
|
||||
| slutsker |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 24.5.2007 Репутация: нет Всего: нет |
--------------------
Compiling...project.cppLinking...Embedding manifest...========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== |
|||
|
||||
| NoNo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
Попробуй использовать контейнеры
|
|||
|
||||
| Armenia |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
а vector тебе не подойдет?
думаю как раз тебе это и нужен. |
|||
|
||||
| Dogo |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 20.2.2007 Где: Санкт-Петербург Репутация: 1 Всего: 9 |
Получить доступ к элементу такого массива можно обычным способом pArray[i] --------------------
|
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
||||
|
||||
| akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Просьба указать максимальный размер файла, а потом определиться с максимально возможным размером памяти, который ты собираешься выделить под изменяемый.
-------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
а где требования сишного? имхо, мы же не ядро Линукса пишем все-таки... а по-умолчанию у нас в разделе вроде как С++. Я прав? Имхо, прямые вызовы к/ре/м-аллоков везде, кроме заведомо сишного кода, морально устарели. new([])/delete([]) - достойная замена. |
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
JackYF,
Юзать можно все: главное (как и с пивом и водкой) - не смешивать. Добавлено через 1 минуту Упс... 1000-й пост -------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
|
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
Нет, ИМХО разные вещи. Скорее использовать ручную дрель и современную автоматическую. Я согласен с Kuvaldis'ом, смешивать нельзя это точно, но ничто не запрещает использовать C-style memory control для отдельно взятой еденицы компиляции в конкретном проекте пусть даже на C++. В одной еденице смешивать действительно не стоит. А вообще вопрос -фигня, и особого внимания, ИМХО не стоит |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 8 Всего: 31 |
Nikita_85, файл изменяется после открытия? Если нет, то что мешает сначала узнать размер файла, а потом создать массив соответствующего размера. -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Имхо, есть варианты:
std::list (если много операций добавления/удаления в/из середины массива) std::vector (если только добавление/удаление в/из конца) malloc/realloc - почти тоже, что и std::vector, только на C |
|||
|
||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
||||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Зря выдрал из контекста. Я имел в виду добавление/удаление в/с конца. И вообще, данный пост не предназначался тем, кто знает отличия. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |