Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/263: Рейтинг темы: голосов - 263, средняя оценка - 4.76
 Аватар для pcmax
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274

В чем разница между динамическим массивом и статическим?

07.01.2019, 11:59. Показов 58048. Ответов 220
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ребята, я не понимаю различия. вроде читал литературу.

ну вот говорят, что динамический массив, это массив выделение памяти под который будет происходит в процессе выполнения программы.

и тут я залез в онлайн компилятор (с++ 14) и сделал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main(){
 
int n;
std::cin >> n;
int array[n]; // ну я создал посути динамический массив.
 
int *arr;
arr=new int[n]; // здесь тоже. 
return 0;
}
 
значит они оба динамические?
объясните пожалуйста в чем действительно разница между статическим и динамическим массивом, чтобы я мог точно понимать что есть что
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.01.2019, 11:59
Ответы с готовыми решениями:

Разница между статическим и динамическим полиморфизмом
Добрый день Подскажите пожалуйста какая разница между статическим и динамическим полиморфизмом и пожалуйста на примере и virtual...

В чем разница между вектором и массивом
Я учу язык С/С++ и хотел у вас спросить в чем разница между вектором и массивом ? кроме тогдо что вектор создается vector<int> m; а...

В чем разница между обычным массивом и контейнером
В чем разница между обычным массивом и контейнером?

220
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.01.2019, 19:25
Студворк — интернет-сервис помощи студентам
http://www.cplusplus.com/refer... onal/less/
вроде как все нормально.
0
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
10.01.2019, 19:28
Цитата Сообщение от Toshkarik Посмотреть сообщение
http://www.cplusplus.com/reference/functional/less/
вроде как все нормально.
Очень авторитетный источник.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.01.2019, 19:29
Очень авторитетный, согласен. Один из лучших.
0
 Аватар для eva2326
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
10.01.2019, 19:30
Цитата Сообщение от Toshkarik Посмотреть сообщение
вроде как все нормально.
У нормальных людей - да))))

У альтернативно одарённых вечно какие то проблемы.
То выход за пределы диапазона массива,
То два адреса без приседаний сравнить не могут.
0
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
10.01.2019, 19:34
Цитата Сообщение от Toshkarik Посмотреть сообщение
Очень авторитетный, согласен. Один из лучших.
Это называется "ничего слаще редьки не пробовал".
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.01.2019, 19:38
C++
1
2
3
4
5
6
7
8
9
/// One of the @link comparison_functors comparison functors@endlink.
  template<typename _Tp>
    struct less : public binary_function<_Tp, _Tp, bool>
    {
      _GLIBCXX14_CONSTEXPR
      bool
      operator()(const _Tp& __x, const _Tp& __y) const
      { return __x < __y; }
    };

Не по теме:

GCC 8.2.0. Тоже видимо не совсем авторитетный источник. Могу еще одну из студий глянуть, но там, скорей всего, будет тоже самое.

0
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
10.01.2019, 19:42
Цитата Сообщение от Toshkarik Посмотреть сообщение
GCC 8.2.0. Тоже видимо не совсем авторитетный источник.
И что одна реализация должна сказать об общем случае?
Цитата Сообщение от Toshkarik Посмотреть сообщение
Могу еще одну из студий глянуть, но там, скорей всего, будет тоже самое.
Ну скорее всего будет. И дальше что?
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.01.2019, 19:46
Я не пытаюсь в спор ради спора. Вы сделали высказывание - вам привели сначала один пример, потом второй и в итоге ответ "И что дальше?". Да, собственно, ничего
0
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
10.01.2019, 19:47
Цитата Сообщение от Toshkarik Посмотреть сообщение
вам привели сначала один пример, потом второй
А могли бы просто (попытаться привести) одно доказательство.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.01.2019, 19:50
Так мне не понятно, почему вам должны что то доказывать, а не вы. Вы ведь сделали это высказывание.
0
Неэпический
 Аватар для Croessmah
18150 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,047
Записей в блоге: 1
10.01.2019, 19:51
Месье говорит о том, что сравнение указателей определено стандартом лишь для ряда случаев.
0
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
10.01.2019, 19:52
Цитата Сообщение от Toshkarik Посмотреть сообщение
Так мне не понятно, почему вам должны что то доказывать, а не вы.
А что я должен доказать?
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.01.2019, 19:56
Цитата Сообщение от Croessmah Посмотреть сообщение
Месье говорит о том, что сравнение указателей определено стандартом лишь для ряда случаев.
Это то понятно. Но ведь речь зашла о std::less, ее реализации и стандарте. Было утверждение, что в STL должна быть какая то особенная реализия для указателей, которая или невозможна средствами C++ или должна содержать UB. Но на самом деле в стандарте же нет ничего об указателях в контексте std::less.
0
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
10.01.2019, 19:59
Цитата Сообщение от Toshkarik Посмотреть сообщение
Но на самом деле в стандарте же нет ничего об указателях в контексте std::less.
Проверил в C++03 и C++17. И там, и там есть. Уверен, в промежуточных стандартах тоже есть.
У тебя какие-то свои стандарты, видимо.
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
10.01.2019, 20:05
Цитата Сообщение от Toshkarik Посмотреть сообщение
Было утверждение, что в STL должна быть какая то особенная реализия для указателей, которая или невозможна средствами C++ или должна содержать UB.
На самом деле нет. Было утверждение, что в стандартно-библиотечной части может быть такой код, который будет являться UB в отрыве от нее. Т.е. как только пользователь начнет применять подобный код у себя, то его программа начинает содержать UB. Если же он применяет библиотечную функцию, в которой есть подобный код, то программа пользователя UB не содержит.

Вот еще пример подобного явления: Почему не происходит разыменования нулевого указателя?
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.01.2019, 20:07
DrOffset, мы об этих сообщениях говорим?
Цитата Сообщение от rat0r Посмотреть сообщение
Более того, многие вещи из стандартной библиотеки нельзя написать на переносимом C++ либо вообще, либо без UB.
Цитата Сообщение от eva2326 Посмотреть сообщение
приведите примеры таких вещей.
Цитата Сообщение от rat0r Посмотреть сообщение
std::less для указателей, std::vector, std::complex, std::launder, offsetof.
0
 Аватар для eva2326
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
10.01.2019, 20:08
Цитата Сообщение от DrOffset Посмотреть сообщение
На самом деле нет. Было утверждение, что в стандартно-библиотечной части может быть такой код, который будет являться UB в отрыве от нее.
Нет.
Речь пошла конкретно об указателях.
Цитата Сообщение от eva2326 Посмотреть сообщение
Реализовала
Цитата Сообщение от rat0r Посмотреть сообщение
Нет.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
10.01.2019, 20:08
Цитата Сообщение от rat0r Посмотреть сообщение
Проверил в C++03 и C++17. И там, и там есть. Уверен, в промежуточных стандартах тоже есть.
У тебя какие-то свои стандарты, видимо.
Проверил и там и там, нигде нет. Видимо у ВАС какие то свои стандарты.
0
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
10.01.2019, 20:11
Цитата Сообщение от Toshkarik Посмотреть сообщение
Проверил и там и там, нигде нет.
А это что:
Цитата Сообщение от https://timsong-cpp.github.io/cppwp/n4659/comparisons#2
For templates less, greater, less_*equal, and greater_*equal, the specializations for any pointer type yield a strict total order that is consistent among those specializations and is also consistent with the partial order imposed by the built-in operators <, >, <=, >=.
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
10.01.2019, 20:16
Toshkarik, если на бытовом уровне объяснять, по простому, то библиотека же идет вместе с конкретным компилятором, так? Подсунуть ее другому компилятору нельзя. И вот в коде этой библиотеки, разработчики совершенно точно знают какие особенности у компилятора есть (это зачастую одни и те же люди). Поэтому могут использовать все что угодно, т.к. совместимость этого с компилятором гарантирована ими самими. Как только пользователь переносит эти хаки-трюки к себе, его код становится заложником этой конкретной версии компилятора, из которой он это вытащил. Т.е. наступает на UB. При смене компилятора, у него будут уже другие хаки-трюки в библиотеке, а выдранный код так и останется, но уже, возможно, перестанет работать.

Добавлено через 34 секунды
Цитата Сообщение от eva2326 Посмотреть сообщение
Нет.
Ну пусть нет. Я вам объясняю что имелось в виду. Даже если сказано было иначе.

Добавлено через 1 минуту
Цитата Сообщение от Toshkarik Посмотреть сообщение
мы об этих сообщениях говорим?
Да. Об этом.

Добавлено через 2 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
но уже, возможно, перестанет работать.
Но даже если не перестанут, то они все равно останутся UB. Т.к. в отличие от библиотеки у вас не будет строгих гарантий насчет него. Очень важно понять, что UB совсем не означает, что код обязательно не будет работать или на самом деле вести себя непредсказуемо. Я заметил, что в этой теме некоторые это упускают.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.01.2019, 20:16

В чем разница между массивом строк и List<string>?
А есть ли принципиальная разница между string array1 и List&lt;string&gt; array2 ? И если есть, то в чем она заключается?

Разница между статическим и экземплярным методом
В книге уже несколько раз встречается понятие статического и экземплярного метода, но не поясняется конкретно, в чем между ними разница,...

В чем разница между простым линейным списком, и динамическим линейным списком?
вопрос в теме

Разница между массивом структур и очередью
Поясните пожалуйста разницу между массивом структур и очередью.

VPN не подключается со статическим IP-адресом (ошибка 720), с динамическим — все работает
Всем привет! В магазине имеется VPN соединение подключающееся к серверу на складе. При получении ip-адреса автоматически подключение...


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

Или воспользуйтесь поиском по форуму:
180
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru