Концепция Managed / Unmanaged обычно не является C ++.Это технология Microsoft .Net.
В обычных простых приложениях на C ++ само приложение отвечает за удаление всей выделенной памяти.Это требует от разработчика быть очень осторожным относительно того, когда удалять память.Если память удаляется слишком рано, приложение может аварийно завершить работу, если на него все еще есть указатель.Если память удаляется слишком поздно или не удаляется совсем, в приложении возникает утечка памяти.
Среды, такие как Java и .Net, решают эту проблему с помощью сборщиков мусора.Разработчик не должен больше удалять память, сборщик мусора сделает это за него.
В «родных» языках .Net (например, C #) весь язык работает с концепцией сборщика мусора.Чтобы упростить переход от обычных простых приложений C ++ к .Net, Microsoft добавила некоторые расширения в свой компилятор C ++, чтобы разработчики на C ++ уже могли воспользоваться преимуществами .Net.
Когда бы вы ни использовали обычные простыеC ++, Microsoft говорит о неуправляемом или нативном C ++.Если вы используете расширения .Net в C ++, Microsoft говорит об управляемом C ++.Если ваше приложение содержит оба, у вас есть приложение в смешанном режиме.