Начнем с некоторых более простых частей вашего вопроса. «Managed C ++» - это название более старого уровня взаимодействия для C ++, представленного в Visual C ++ 2002. Честно говоря, это было довольно ужасно и заставило меня потрудиться посмотреть на .Net целую вечность. В Visual Studio 2005 Managed C ++ был заменен на C ++ / CLI. Синтаксис на самом деле довольно простой, и хотя конечный результат не совсем похож на C ++, его легко читать и он очень похож на C #. Твердо прибивая свои краски к мачте, я на самом деле очень люблю их использовать!
Большинство случаев использования C ++ / CLI включают в себя перенос собственного кода, и помимо этого я также использовал его для более существенной сборки, включающей Extended MAPI и Outlook.
С точки зрения повседневного использования C ++ / CLI, вы, вероятно, захотите пристально взглянуть на то, как должен быть реализован шаблон dispose (посмотрите на комбинацию синтаксиса ~ /!). Меня действительно раздражает, что общие указатели boost не могут использоваться в качестве переменных-членов в управляемых классах, поэтому я писал свои единственные операторы «delete» годами, но на самом деле это небольшой вопрос.
FxCop великолепно работает на сборках, созданных на C ++ / CLI, поэтому вы обязательно должны использовать это при изучении .Net.
Удачи!
приписка
Строго говоря, я не уверен, что этот вопрос квалифицируется как действительный вопрос StackOverflow, но это интересная тема ...