C++ cli 你会用C++/CLI(如果支持,如C#&;VB.NET?

C++ cli 你会用C++/CLI(如果支持,如C#&;VB.NET?,c++-cli,C++ Cli,我一直喜欢C++/CLI。也许是因为没有多少开发人员使用它。。。或者仅仅因为它不同 假设Microsoft完全支持C++/CLI,就像他们支持VB.NET和C#(即LINQ、WPF等)一样。你会用它吗 如果没有,原因是什么?也许……但我不完全清楚C++/CLI提供了哪些C#没有的功能。也许是指针?我已经用C#完成了所有的.NET编程(我所做的一点),我也开始学习F#,但是如果它得到了充分的支持和良好的文档记录,当然,我会尝试一下。我确实使用它。即使相对缺乏工具支持,它在处理Win32时仍然优于原

我一直喜欢C++/CLI。也许是因为没有多少开发人员使用它。。。或者仅仅因为它不同

假设Microsoft完全支持C++/CLI,就像他们支持VB.NET和C#(即LINQ、WPF等)一样。你会用它吗


如果没有,原因是什么?

也许……但我不完全清楚C++/CLI提供了哪些C#没有的功能。也许是指针?我已经用C#完成了所有的.NET编程(我所做的一点),我也开始学习F#,但是如果它得到了充分的支持和良好的文档记录,当然,我会尝试一下。

我确实使用它。即使相对缺乏工具支持,它在处理Win32时仍然优于原始的P/Invoke


对于LINQ,我不太想看到太多的黑客攻击C++语言。LINQ可用的足够多,如果他们要增强编译器,他们应该工作在C++ 0x支持……/P> < P>我将C++和CLI与MFC混合,以利用WPF和XAML,但我使用新的C++ 2008特征包——自由带组件。p> 关键在于使用正确的工具完成正确的工作。我使用C++/CLI进行平台互操作工作,因为这样更容易获得正确的封送。我使用C#进行几乎所有其他.NET工作,使用一些VB.NET(我喜欢内联XML)。我承认我还没有学过IronRuby、IronPython、F#或任何其他.NET语言,但我正在认真考虑,只是为了增加我的编程资源


为了回答这个问题,我认为我不会再使用它了,因为我觉得我已经把它用于最适合的工作了。在我看来,C#仍然是最好的.NET语言,因为它是专门为该平台设计的,而不是为了适应它而强加一种旧的语言。增加对C++/CLI的更好支持只会减少我的开发时间,而不会影响我对另一种语言的使用。

C++/CLI非常有效地实现了统一托管和非托管代码的承诺。它让您可以公开感觉像是一个完美的本机C#库的内容,“在内部”100%访问本机C++/库。这不是一个优雅的练习,而是在实用编程工具的历史中,与之相比的是什么

如果您需要LINQ和WPF,只需使用C#。这就是C++/CLI的美妙之处:编写托管包装器,然后返回C#。我没有看到C++/CLI打算在日常使用中取代C

…但我不完全清楚C++/CLI提供了哪些C#不提供的功能。-@


一个巨大的好处(在我的书中)是RAII(参见给我的问题的答案)

我不会使用它,因为我不想被大量的运行时间束缚住。我不喜欢所有那些^指针的东西:)


尽管如此,我还是喜欢/怀念.NET提供的强大库。

我使用它来支持遗留代码,以及在托管代码和本机代码之间编写垫片。我喜欢VS11更好地支持它。与典型的C#编码相比,您不必做任何不同的事情,但您始终可以使用本机选项。如果您需要与非托管代码交互,IJW是巨大的。我仍然对C#和VB.NET中容易出错的VB风格的P/Invoke感到震惊,但C++/CLI提供了一种解决方法,允许使用平台SDK头(或任何其他本机API头)。它的功能是否完全类似于MS Office?在使用它之前,您需要同意Microsoft的许可证,其中包括竞业禁止条款。它是免费的永久性的,但是你应该知道你被许可证限制,即使你使用MFC实现。对类成员的隐含确定性的处理,真的模板,C++互操作(“它只是工作”)…