Скажем, я хотел «удалить» элемент, например:
пунктов [5] = NULL;
Я немного знаю Visual Basic, но он пахнет языком программирования Visual Basic, поскольку «Set a = None» (или Null, я не уверен) удалит объект, на который указывает (или, скорее, уменьшит его счетчик ссылок , для объектов COM).
Как кто-то еще заметил, вы должны использовать либо:
delete items[5];
items[5] = newContent;
или
delete items[5];
items[5] = NULL;
После delete[5]
единственное возможное использование указателя, хранящегося в items[5]
, вызывает у вас проблемы. Хуже всего то, что это может сработать в начале и начать давать сбои только тогда, когда вы выделите что-то еще в пространстве, ранее использовавшемся *items[5]
. Именно эти причины делают программирование на C / C ++ «интересным», то есть действительно раздражающим (даже для тех, кто любит C, таких как я).
Запись только delete items[5];
сохраняет то, что может быть бесполезной записью, но это преждевременная оптимизация.