| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > массив с изменяющимся числом элементом |
| Автор: Nikita_85 30.7.2007, 09:00 |
| Здравствуйте! В моей программе размер массива зависит от входного файла. подскажите, пожалуйста, можно ли создать массив с изменяющимся числом элементом, а не с постоянным. Заранее спасибо! |
| Автор: slutsker 30.7.2007, 09:08 | ||
|
| Автор: NoNo 30.7.2007, 14:35 |
| Попробуй использовать контейнеры |
| Автор: Armenia 30.7.2007, 22:09 |
| а vector тебе не подойдет? думаю как раз тебе это и нужен. |
| Автор: Dogo 30.7.2007, 23:54 | ||
Получить доступ к элементу такого массива можно обычным способом pArray[i] |
| Автор: En_t_end 31.7.2007, 11:42 | ||
JackYF,
А где здесь требование C++ кода ? |
| Автор: akizelokro 31.7.2007, 12:13 |
| Просьба указать максимальный размер файла, а потом определиться с максимально возможным размером памяти, который ты собираешься выделить под изменяемый. |
| Автор: JackYF 31.7.2007, 13:42 |
а где требования сишного? имхо, мы же не ядро Линукса пишем все-таки... а по-умолчанию у нас в разделе вроде как С++. Я прав? Имхо, прямые вызовы к/ре/м-аллоков везде, кроме заведомо сишного кода, морально устарели. new([])/delete([]) - достойная замена. |
| Автор: Kuvaldis 31.7.2007, 13:48 |
| JackYF, Юзать можно все: главное (как и с пивом и водкой) - не смешивать. Добавлено через 1 минуту Упс... 1000-й пост |
| Автор: JackYF 31.7.2007, 16:18 |
| Автор: En_t_end 31.7.2007, 18:37 | ||
Нет, ИМХО разные вещи. Скорее использовать ручную дрель и современную автоматическую. Я согласен с Kuvaldis'ом, смешивать нельзя это точно, но ничто не запрещает использовать C-style memory control для отдельно взятой еденицы компиляции в конкретном проекте пусть даже на C++. В одной еденице смешивать действительно не стоит. А вообще вопрос -фигня, и особого внимания, ИМХО не стоит |
| Автор: JackYF 1.8.2007, 02:07 | ||
соглашусь. |
| Автор: Rockie 1.8.2007, 14:10 |
Nikita_85, файл изменяется после открытия? Если нет, то что мешает сначала узнать размер файла, а потом создать массив соответствующего размера. |
| Автор: bsa 1.8.2007, 14:32 |
| Имхо, есть варианты: std::list (если много операций добавления/удаления в/из середины массива) std::vector (если только добавление/удаление в/из конца) malloc/realloc - почти тоже, что и std::vector, только на C |
| Автор: Damarus 1.8.2007, 18:17 |
Действительно... Почти... |
| Автор: Любитель 1.8.2007, 23:16 |
| |
| Автор: bsa 2.8.2007, 11:11 | ||
Зря выдрал из контекста. Я имел в виду добавление/удаление в/с конца. И вообще, данный пост не предназначался тем, кто знает отличия. |