delete
в C ++ / CLI просто вызывает метод Dispose
для управляемого объекта, если он реализует интерфейс System::IDisposable
- если нет, онэффективно ноуп.Фактически, если вы попытаетесь вызвать метод Dispose
для управляемого объекта самостоятельно, вы получите ошибку компилятора - delete
- это принудительная идиома для удаления объекта.
Чтобы было понятно, этоне имеет ничего общего с управлением памятью, отмечая, конечно, что большинство финализируемых объектов получат GCed раньше, если они будут удалены.