Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
xod
156 / 46 / 17
Регистрация: 01.07.2014
Сообщений: 185
#1

Есть ли в С++ динамические массивы? - C++

12.07.2014, 21:08. Просмотров 1573. Ответов 54
Метки нет (Все метки)

Я сначала подобный вопрос задал поисковой
системе. Ответ меня обескуражил. Ответы
примерно такие:
1. Нет и не было.
2. Кажется есть оператор New
3. Есть динамическая память
4. Что-то есть, а вам зачем?
Мне все-таки хочется узнать, а лучше
Небольшой конкретный пример, что есть??
И как это использовать?? Что надо подключить??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2014, 21:08     Есть ли в С++ динамические массивы?
Посмотрите здесь:

Динамические массивы C++
C++ динамические массивы ?
C++ Динамические массивы
C++ Динамические массивы
C++ Динамические массивы
C++ Динамические массивы
C++ динамические массивы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2455 / 1627 / 238
Регистрация: 24.11.2012
Сообщений: 4,003
12.07.2014, 21:10     Есть ли в С++ динамические массивы? #2
std::vector
xod
156 / 46 / 17
Регистрация: 01.07.2014
Сообщений: 185
12.07.2014, 21:13  [ТС]     Есть ли в С++ динамические массивы? #3
Спасибо!
Но маленький пример лучше!!
Renji
1793 / 1211 / 282
Регистрация: 05.06.2014
Сообщений: 3,480
12.07.2014, 21:16     Есть ли в С++ динамические массивы? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
std::vector<int>array;
array.push_back(1);
array.push_back(2);
array.push_back(3);
Croessmah
Модератор
Эксперт CЭксперт С++
12878 / 7264 / 810
Регистрация: 27.09.2012
Сообщений: 17,945
Записей в блоге: 2
Завершенные тесты: 1
12.07.2014, 21:16     Есть ли в С++ динамические массивы? #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Определить наибольший элемент последовательности
xod
156 / 46 / 17
Регистрация: 01.07.2014
Сообщений: 185
12.07.2014, 21:21  [ТС]     Есть ли в С++ динамические массивы? #6
Ребята спасибо! Я использую это в следующей своей программе!!
Спасибо!!
gru74ik
Модератор
Эксперт CЭксперт С++
3924 / 1682 / 189
Регистрация: 20.02.2013
Сообщений: 4,743
Записей в блоге: 21
12.07.2014, 21:29     Есть ли в С++ динамические массивы? #7
Как-то так...
ValeryS
Модератор
6508 / 4974 / 459
Регистрация: 14.02.2011
Сообщений: 16,476
12.07.2014, 21:31     Есть ли в С++ динамические массивы? #8
gru74ik,
динамическое выделение памяти, не совсем то что, динамический массив
dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.07.2014, 21:33     Есть ли в С++ динамические массивы? #9
Динамический массив
C++
1
2
3
int n;
cin>>n;
int *a = new int[n];
и работаем как с обычным массивом
Renji
1793 / 1211 / 282
Регистрация: 05.06.2014
Сообщений: 3,480
12.07.2014, 21:34     Есть ли в С++ динамические массивы? #10
и работаем как с обычным массивом
Который на столько "динамичен", что даже размер поменять нельзя.
gru74ik
Модератор
Эксперт CЭксперт С++
3924 / 1682 / 189
Регистрация: 20.02.2013
Сообщений: 4,743
Записей в блоге: 21
12.07.2014, 21:34     Есть ли в С++ динамические массивы? #11
Цитата Сообщение от ValeryS Посмотреть сообщение
динамическое выделение памяти, не совсем то что, динамический массив
В моём примере имеет место быть динамический массив?
ValeryS
Модератор
6508 / 4974 / 459
Регистрация: 14.02.2011
Сообщений: 16,476
12.07.2014, 21:38     Есть ли в С++ динамические массивы? #12
dimabubyakin,

почему вы путаете динамический массив и динамическое выделение памяти
в частности пользователь ввел десять
выделили память под 10 элементов
а потом понадобилось 100,
ваши действия?

Добавлено через 24 секунды
Цитата Сообщение от gru74ik Посмотреть сообщение
В моём примере имеет место быть динамический массив?
где изменение размера?
gru74ik
Модератор
Эксперт CЭксперт С++
3924 / 1682 / 189
Регистрация: 20.02.2013
Сообщений: 4,743
Записей в блоге: 21
12.07.2014, 21:42     Есть ли в С++ динамические массивы? #13
Цитата Сообщение от ValeryS Посмотреть сообщение
почему вы путаете динамический массив и динамическое выделение памяти
Наверное потому, что так определён динамический массив в учебной литературе и в википедии, например.
dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.07.2014, 21:45     Есть ли в С++ динамические массивы? #14
ValeryS, хм.. пример приведенный мной является простейшим динамическим массивом, конечно можно натолкать кучу всего, но зачем? Человек просто попросил привести пример ему, что я и сделал.

Добавлено через 1 минуту
Renji, думаю человеку который недавно начал учить С++ нужно с самым простым разобраться для начала..
gru74ik
Модератор
Эксперт CЭксперт С++
3924 / 1682 / 189
Регистрация: 20.02.2013
Сообщений: 4,743
Записей в блоге: 21
12.07.2014, 21:45     Есть ли в С++ динамические массивы? #15
Цитата Сообщение от ValeryS Посмотреть сообщение
где изменение размера?
В качестве "динамичности" массива, видимо, просто подразумеваются разные вещи.

В первом случае - заранее неизвестен размер массива, но как только размер определён, менять его уже нельзя. Так скажем, ограниченная динамичность.

Во втором случае - подлинная динамичность: не только заранее не задан размер массива, но и после того, как он задан, его можно изменять.
ValeryS
Модератор
6508 / 4974 / 459
Регистрация: 14.02.2011
Сообщений: 16,476
12.07.2014, 21:46     Есть ли в С++ динамические массивы? #16
Цитата Сообщение от gru74ik Посмотреть сообщение
что так определён динамический массив в учебной литературе
в печку
динамический массив подразумевает изменение размера во время работы
Цитата Сообщение от gru74ik Посмотреть сообщение
и в википедии, например.
сам то читал?
Строго говоря вышеописанная реализация массива не является динамической, так как нет изменения размера массива во время работы, а всего лишь массив переменной длины.
и далее алгоритм реализации
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,043
Записей в блоге: 17
12.07.2014, 21:48     Есть ли в С++ динамические массивы? #17
Цитата Сообщение от ValeryS Посмотреть сообщение
в печку
динамический массив подразумевает изменение размера во время работы
Это как ?
Нельзя изменить размер память которая уже выделена, можно только перераспределить память путем копирования в новый массив большего размера ( если не брать в расчет reloc)
Цитата Сообщение от Renji Посмотреть сообщение
который на столько "динамичен", что даже размер поменять нельзя.
Так вектор не что иное как обвертка над "этим массивом", не по этому не советую браться за вектор не разобравшись с обычными дин.массивами
Renji
1793 / 1211 / 282
Регистрация: 05.06.2014
Сообщений: 3,480
12.07.2014, 21:51     Есть ли в С++ динамические массивы? #18
Renji, думаю человеку который недавно начал учить С++ нужно с самым простым разобраться для начала..
Что тут самое простое - большой вопрос. Человек ведь или delete забудет, или по указателю на удаленный объект полезет. Особенно если пришел из языков с автоматической сборкой мусора, где ручного удаления данных либо вообще нет, либо сводится оно к обнулению указателя.
dimabubyakin
158 / 123 / 44
Регистрация: 16.10.2013
Сообщений: 1,738
Завершенные тесты: 5
12.07.2014, 21:53     Есть ли в С++ динамические массивы? #19
Renji, ты сам ответил на свой вопрос)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2014, 21:54     Есть ли в С++ динамические массивы?
Еще ссылки по теме:

Динамические массивы C++
Зачем нужны обычные массивы, если есть динамические? C++
C++ Динамические массивы
C++ Динамические массивы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6508 / 4974 / 459
Регистрация: 14.02.2011
Сообщений: 16,476
12.07.2014, 21:54     Есть ли в С++ динамические массивы? #20
Цитата Сообщение от dimabubyakin Посмотреть сообщение
хм.. пример приведенный мной является простейшим динамическим массивом,
не является
способ выделения памяти не делает массив динамическим
Цитата Сообщение от dimabubyakin Посмотреть сообщение
Человек просто попросил привести пример
человек спросил прямо
Цитата Сообщение от xod Посмотреть сообщение
Есть ли в С++ динамические массивы?
и в первых постах ему ответили

круче vector я видел динамический массив CArray в MFC но он нестандартый
C++
1
2
3
4
CArray <int,int>arr;
arr[10]=5;
arr[100]=10;
arr[10000]=5
Yandex
Объявления
12.07.2014, 21:54     Есть ли в С++ динамические массивы?
Закрытая тема Создать тему
Опции темы

Текущее время: 06:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru