Возможный дубликат:
В чем разница между неуправляемым типом и управляемым типом?
Недавно я работал над приложением на C ++ и наткнулся на то, что называется управляемыми типами, нативными типами, маршалингом и т. Д. Я не совсем уверен, что означают эти термины. Из того, что я читал, кажется, что у нас есть управляемые типы в c ++ для обеспечения доступа к некоторым функциям .Net (собственные типы .Net), и мы используем маршалинг для преобразования управляемых типов в собственные типы (и наоборот). Я прав? спасибо ~
Управляемый C ++ был / является созданием Microsoft. Приложения, разработанные с использованием управляемой платформы C ++, работают в среде виртуальной машины так же, как и приложения .NET. Это обеспечивает такие средства, как дополнительная проверка во время выполнения, выделение памяти. Кроме того, виртуальная машина обеспечивает сборку мусора так же, как .NET делает для C #. Ограничение в управляемой среде состоит в том, что виртуальная машина не поддерживает множественное наследование (C # не поддерживает множественное наследование). Поэтому разработка управляемого C ++ была ограничена.
Маршалинг также называется сериализацией, когда объекты преобразуются в другие «простые» типы для передачи другим процессам или машинам через RPC.
Других решений пока нет …