|
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 20
|
|
Почему при выходе за пределы массива мы получаем «мусор», а не нули?22.11.2022, 09:57. Показов 11304. Ответов 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 при выходе содержимого за пределы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|