Скажем, у меня есть класс Derived
, который происходит из класса Base
, тогда как sizeof(Derived) > sizeof(Base)
. Теперь, если вы выделяете массив Derived
следующим образом:
Base * myArray = new Derived[42];
а затем пытается получить доступ к n
-th объекту, используя
doSomethingWithBase(myArray[n]);
Тогда это может, вероятно, (но не всегда) вызвать поведение undefined из-за доступа к Base
из недопустимого местоположения.
Каков правильный термин для такой ошибки программирования? Следует ли рассматривать случай разбиения объектов?