除了你可以使用C++语法,包括指针和析构函数等内容外,我没有看到其他实际优势。
如果你在考虑为什么要使用C++/CLI而不是C#,我认为主要原因是:
我认为Herb Sutter可能提供了最好的概述:
如果您想知道为什么要使用本机C++而不是C#/.NET,这归结为为什么要使用托管环境(安全性,更容易的开发)而不是本地代码(绝对控制,可能有速度优势)。每种方法都有争议,答案取决于您想要开发什么以及您的市场需求。
C++\CLI的真正好处是将DotNet语言与本地C++进行通信,例如许多公司首先将其GUI迁移到.Net,然后在C++中保留一些逻辑,而C++\CLI是沟通两种技术的良好桥梁,您也可以使用COM组件来实现,但出于许多原因,这不是一个好选择。
我认为将不同种类的 C++ 相互比较,与将 C++ 与 C# 进行比较是不同的问题。C# 相对于不同种类的 C++,是一种非常不同的编程语言。