Может доступ к элементу массива за пределами границы повредить его - PullRequest
5 голосов
/ 12 июня 2019

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

MyObject* array[10];

for(int i=0; i<10; i++)
{
    array[i] = nullptr;
}
array[1] = new MyObject();
array[8] = new MyObject();
array[15] = new MyObject();

может получить доступ к массиву [15], что приведет к повреждению элементов в диапазоне 0-10?

1 Ответ

7 голосов
/ 12 июня 2019

может получить доступ к array[15], что приведет к повреждению элементов в диапазоне 0-10?

Да.Это неопределенное поведение, и природа UB такова: может произойти все, что .В частности, обычно не имеет большого смысла рассуждать о том, что могло бы произойти или что вероятнее всего.Это может быть что угодно, включая повреждение некоторых элементов массива, которые были целы до UB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...