|
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 20
|
|
Почему при выходе за пределы массива мы получаем «мусор», а не нули?22.11.2022, 09:57. Показов 11321. Ответов 49
Метки нет (Все метки)
Почему при выходе за пределы массива мы получаем «мусор», а не нули?
Прошу объяснить подробно, почему, как и с чем это связано. Домашнюю работу задали на курсах)
0
|
|
| 22.11.2022, 09:57 | |
|
Ответы с готовыми решениями:
49
Почему работает программа при выходе за пределы массива? Ошибка сегментации при выходе за пределы динамического массива
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 23.11.2022, 16:03 | |||
|
Это чисто про аппаратный уровень если говорить. Хотя проблема в самом деле имеет очень много аспектов. Про программные здесь отлично написано, особенно в посте TheCalligrapher. Про многие моменты из написанного им я бы и не сообразил. Я как-то по микросхемкам больше ![]() А с точки зрения чисто С++ это всё и вовсе UB, тоже совершенно правильно подмечено. Хотя это UB (которое все же больше теоретическое в том смысле, что существует только на уровне C++) в реальности не мешает нам в наблюдать вполне конкретный "мусор", причем в каких-то конкретных условиях конкретных сборок отдельные конкретные значения того или иного "мусора" вполне можно даже объяснить и они даже будут повторяемы от раза к разу. Т.е. как бы уже и не "случайный мусор".
0
|
|||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
||
| 23.11.2022, 18:28 | ||
|
Много раз я уже здесь это говорил, но люди все равно продолжают уравнивать UB с падением программы или какими-то другими конкретными спецэффектами. Еще раз: UB - это не спецэффекты.
0
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 24.11.2022, 10:48 | ||
|
Проблема лишь в дизайне языка. Вообще это огромный парадокс: почему язык с постоянно растущим списком UB остаётся очень популярным. Я примерно даже знаю ответ.
0
|
||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,829
|
|
| 24.11.2022, 11:46 | |
|
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 24.11.2022, 12:53 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 24.11.2022, 12:55 | ||
|
у тебя ещё до вызова функции main исполняется много различной работы.
0
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 24.11.2022, 12:58 | |
|
hoggy,
Я удалил вторую часть сообщения, позже понял что просто невнимательно прочитал текст. Но первый вопрос открыт... просто после его поста сложилось впечатление из разряда "не переживай, на обнуление ресурсы не уйдут". Особенно интересует как это можно проверить
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 24.11.2022, 12:59 | |
|
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 24.11.2022, 13:01 | ||
|
Добавлено через 1 минуту и что будет, если в момент запроса новой обнуленной памяти этот пул не будет иметь свободных страниц? ждать когда ОС сделает reallocate и обнулит новые страницы? ты уверен что это выгодное решение?
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 24.11.2022, 13:18 | ||
|
а вот когда тебе это действительно будет нужно,
2
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|||||||
| 24.11.2022, 14:00 | |||||||
Просто интересно для общего развитияДобавлено через 37 минут
0
|
|||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 24.11.2022, 14:12 | ||
|
0
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 24.11.2022, 14:24 | |
|
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 24.11.2022, 14:25 | |
|
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
||
| 24.11.2022, 14:30 | ||
|
0
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 24.11.2022, 14:41 | ||
|
На эти вопросы отвечено.
0
|
||
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 24.11.2022, 14:47 | |
|
0
|
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 24.11.2022, 14:56 | |
|
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 24.11.2022, 15:02 | |
|
KSergey9,
Там ни слова о zeroed pages. Естественно то что выделяется - отдается в распоряжение аллокатору. Это не мой вопрос. Вопрос был в том, если есть у аллокатора запас не zeroed байт, пойдет ли он всё равно за новой, но уже zeroed страницей, если запрос на выделение памяти содержит просьбу обнулить содержимое памяти?
0
|
|
|
485 / 411 / 126
Регистрация: 23.05.2016
Сообщений: 1,653
|
|
| 24.11.2022, 15:38 | |
|
А вариант ответа в духе "потому, что стандартом С++ не предусмотрена обязательная инициализация памяти нулями при выполнении программы" не предложен? Все остальное - философская лирика.
0
|
|
| 24.11.2022, 15:38 | |
|
"Неопределенное поведение" при выходе вводимых данных за пределы массива
Ошибка о выходе за пределы массива Почему при передачи массива через ajax на выходе выходит строка? Прокрутка в canvas при выходе содержимого за пределы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|