В чем же разница между "старым" управляемым С++ и "новым" С++/CLI?
В чем разница между управляемым С++ и С++/CLI?
Ответ 1
Управляемый С++ - это версия VS2002 и VS2003. У него были условия гонки и другие серьезные ошибки, а также запутывание. Он больше не поддерживается.
В VS2005 Microsoft представила С++/CLI, который также был принят в качестве стандарта ISO. Он также поддерживается в VS2008 и предстоящем VS2010.
У обоих из них была та же цель, что и для сборки .NET с использованием языка С++. Синтаксис отличается (управляемый код на С++/CLI намного проще отличить от стандартного С++ с первого взгляда), а С++/CLI также имеет синтаксис для таких функций .NET 2.0, как generics.
Ответ 2
http://msdn.microsoft.com/en-us/library/ms235298.aspx дает приблизительный обзор изменений синтаксиса.
Ответ 3
Managed С++ (Managed Extensions для С++) - это набор ключевых слов для Microsoft, используемых со стандартным синтаксисом С++, позволяющим компилировать управляемый код. ИТ был разработан таким образом, что программисты могли как можно быстрее использовать .NET и очень легко переносить собственный код на платформу .NET. Он использовал IJW (он просто работает), который упростил перенос программ на .NET, но также имел много недостатков.
С++/CLI - это новый язык. Он решил много проблем Managed С++, сделал .NET-программирование более мощным и принят в качестве стандарта, но также вводит новый синтаксис, новые ключевые слова и более сильно отличается от неуправляемого С++, чем предыдущий Managed С++.