считывались перед записью не определено с искаженной памятью?

Согласно этой ветке комментариев Reddit , не определено, если предпринимается попытка чтения памяти до того, как она была записана. Я имею в виду нормальную память кучи, которая была успешно malloc ed.

... обратите внимание, что это не совсем корректный C: компилятор / исполняющая система может инициализировать неинициализированную память так называемыми представлениями ловушек, которые вызывают неопределенное поведение при доступе.

Мне трудно в это поверить. Есть ли стандартная цитата?

Я, конечно, понимаю, что нет гарантии, что память была обнулена. Значения в этой неинициализированной памяти по существу псевдослучайны или произвольны. Но я не могу поверить в то, что в Стандарте это будет называться undefined behavior (в том смысле, что это может быть segfault, или удалить все ваши файлы, или что-то еще). Остальная часть ветки Reddit не пролила больше света на эту проблему.

9
задан Aaron McDaid 9 February 2012 в 22:36
поделиться