|
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
|
||||||
В чем разница между динамическим массивом и статическим?07.01.2019, 11:59. Показов 58001. Ответов 220
Метки нет (Все метки)
ребята, я не понимаю различия. вроде читал литературу.
ну вот говорят, что динамический массив, это массив выделение памяти под который будет происходит в процессе выполнения программы. и тут я залез в онлайн компилятор (с++ 14) и сделал так
0
|
||||||
| 07.01.2019, 11:59 | |
|
Ответы с готовыми решениями:
220
Разница между статическим и динамическим полиморфизмом В чем разница между вектором и массивом В чем разница между обычным массивом и контейнером |
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||||
| 09.01.2019, 19:40 | |||||
|
Стандарт однозначно даёт определение неопределенного поведения. Согласно этому определению, код, который не совершает противоправных действий - не содержит UB. А значит презумпция невиновности имеет место быть. Все просто: в представленном коде нет никаких противоправных действий. И вы не сможете доказать обратное. Так что это не я, это вы попробуйте предоставить мне пруф некорректности кода. Легко сказать: "выход за пределы диапазона" Объяснить: где конкретно, и почему (с пруфами, разумеется) - это сложно. Проще сказать: "читай документ".
0
|
|||||
|
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
|
|||||
| 09.01.2019, 19:49 | |||||
|
Или имеется в виду что-то другое? Добавлено через 5 минут
0
|
|||||
|
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
|
||
| 09.01.2019, 20:00 | ||
|
UB в коде не является уголовным преступлением. Так что отсылки к презумпции невиновности это просто способ слиться без ущерба для самооценки.
1
|
||
|
Комп_Оратор)
|
||
| 09.01.2019, 20:12 | ||
|
eva2326, та философия которой пронизаны книги Б. Страуструпа, где всё что не запрещено, - разрешено, это неудачный способ аргументации. Тут и бульдозер не поможет.
Посмотрите в личку rat0r, там Croessmah здорово порезвился с минусованием. Croessmah, помните Саша, я был против минусовых отзывов? Это исключительно, жизненный опыт. Нормальному человеку не нужны такие бичевания, а не нормальному они не помогут. Так что, лишний раз убеждаюсь, что порой простой бан от администрации - нормальное действо. Очень редко, но незаменимо. Для того кто:
0
|
||
|
"C with Classes"
|
|
| 09.01.2019, 20:15 | |
|
Не по теме: IGPIGP, тебе не лень свою драгоценную энергию в никуда сливать?
0
|
|
|
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
|
||||
| 09.01.2019, 20:28 | ||||
|
Как было справедливо отмечено в этом треде
0
|
||||
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||
| 09.01.2019, 20:34 | |||
|
Но где именно, и почему - объяснить не может. Может это у вас там где-то в детском садике что-то такое практикуют. В мире взрослых людей, обычно человек в состоянии обосновать свои утверждения.
1
|
|||
|
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
|
||
| 09.01.2019, 20:41 | ||
|
Отсутствие чего-то доказать нельзя. Можно доказать наличие, предъявив это что-то. Вот я предлагаю предъявить конкретное описание поведения кода, если оно есть. Начать можете с reinterpret_cast-а двумерного массива к int*. Думаю, некоторых ждут увлекательные открытия при чтении соответствующих пунктов в стандарте.
0
|
||
| 09.01.2019, 20:45 | |
|
rat0r, приведите в пример хоть одну реально используюмую реализацию и платформу, где это не будет работать.
В коде всегда есть место неопределенному поведению и если это поведение соответствует ожидаемому, то с точки зрения разработки его можно считать вполне определенным. А стандарты - они скользкие.
1
|
|
|
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
|
||
| 09.01.2019, 21:05 | ||
|
0
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 09.01.2019, 21:40 | ||
|
Я чего то понять не могу...
Объясните и мне, пожалуйста. Насколько я понимаю rat0r говорит что выход за пределы массива это UB. Если я верно понял суть спора, то почему некоторые не согласны? Добавлено через 56 секунд Добавлено через 44 секунды То есть вы предлагаете забить на стандарт и лепить что попало? Или вы как то избирательно действуете? Вот это UB можно, а то нельзя?
0
|
||
|
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
|
|
| 09.01.2019, 21:41 | |
|
0
|
|
|
Комп_Оратор)
|
|||
| 09.01.2019, 21:52 | |||
|
Undisputed, может там и правда есть выход за пределы массива? Запостите пожалуйста, тот код и покажите, где именно, он Вами обнаружен, .
0
|
|||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 09.01.2019, 21:54 | |||
|
Иногда это имеет последствия применительно к конкретной реализации, а иногда нет. И надо заметить, что было достаточно примеров, когда формальное UB в отсутствие препятствий с т.з. реализации переставало быть таковым в более поздних версиях спецификации языка. Естественно, лепить что попало не надо, но программист - это не религиозный деятель. Это теория помогает ему решать задачи, а не его задачи решаются во имя теории. Надеюсь, суть ясна ![]() Можно на форуме найти и другие примеры таких разговоров, например применительно к ссылкам - с одной стороны говорят - ссылка это константный указатель, т.к. его нельзя реализовать иначе, а с другой, что ссылка - это псевдоним объекта. И пока они не договорятся о точках зрения, то так и будет наполовину пустой стакан, против наполовину полного. Я ж тебе не зря написал вот этот пост. Он как раз об этом, о точке зрения.
0
|
|||
| 09.01.2019, 21:57 | |
|
0
|
|
| 09.01.2019, 22:26 | |||
|
А раз реализация не полностью соответствует стандарту, то стоит ли полагаться только на стандарт? Однако, зачастую, разработчик хорошо знает платформу для которой пишет, и знает как будет работать тот или иной фрагмент кода на целевых платформах, поэтому может использовать средства не соответствующие стандарту. И это вполне нормально.
1
|
|||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 09.01.2019, 22:42 | ||
|
Еще можно вспомнить любимое в POSIX преобразование указателей на функции в void * и обратно, начиная C++11 (если не ошибаюсь) это законно implementation defined behavior, а не undefined, как было ранее.Можно вспомнить еще в целом модель многопоточности, которая ранними стандартами вообще не описывалась, а значит все ее применение было разновидностью UB.
1
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||||||||||
| 09.01.2019, 22:43 | ||||||||||
![]()
Я про этот код... Насколько я понял вы парируете тем, что не обращаетесь от имени массива к данным а от имени дополнительного указателя и так как все элементы смежны - мы находимся в пределах памяти выделенной под двумерный массив и поэтому все ок, я верно понял вашу позицию? ![]() Мое мнение по этому вопросу: У вас есть двумерный массив 3х3. То есть обращаясь к двумерному массиву вида
Даже несмотря на то, что вы делаете это от имени вспомогательного указателя, это не отменяет тот факт что фактический объект лежащий в памяти по адресу int * pa =reinterpret_cast<int*>(a); это тот самый двумерный массив 3х3, первый оператор идексации которого может быть в диапазоне 0-2. Даже если отложить понятие "объект в памяти" в сторону, тогда вам наверное нужно привести ссылку на стандарт где подобный обходной путь допустим... Но если такого нет - значит это UB, то есть не определено что будет. А получение ожидаемого результата != корректная программа С++. Поправьте, если ошибаюсь...
1
|
||||||||||
|
285 / 176 / 21
Регистрация: 16.02.2018
Сообщений: 666
|
|
| 09.01.2019, 22:43 | |
|
Ладно. Я соврал. Там нет выхода за границы. UB наступает раньше, чем происходит выход за границы.
0
|
|
| 09.01.2019, 22:43 | |
|
В чем разница между массивом строк и List<string>? Разница между статическим и экземплярным методом В чем разница между простым линейным списком, и динамическим линейным списком? Разница между массивом структур и очередью VPN не подключается со статическим IP-адресом (ошибка 720), с динамическим — все работает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|