我一直喜欢 C++/CLI。也许是因为没有多少开发人员使用它......或者只是因为它不同。
假设 Microsoft 完全支持 C++/CLI,就像他们支持 VB.NET 和 C#(即 LINQ、WPF 等)一样。你会用吗?
如果不是,为什么?
我一直喜欢 C++/CLI。也许是因为没有多少开发人员使用它......或者只是因为它不同。
假设 Microsoft 完全支持 C++/CLI,就像他们支持 VB.NET 和 C#(即 LINQ、WPF 等)一样。你会用吗?
如果不是,为什么?
我确实使用它。即使相对缺乏工具支持,它在处理 Win32 方面仍然胜过原始 P/Invoke。
至于 LINQ,我真的不想看到更多的 C++ 语言被黑。LINQ 可以按原样使用——如果他们要增强编译器,他们应该在 C++ 0x 支持上工作......
这一切都是为了使用正确的工具来完成正确的工作。我使用 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(请参阅Adam Wright对我关于.NET 中的 RAII 的问题的回答)。
也许......但我并不完全清楚 C++/CLI 提供了 C# 没有提供的内容。也许是指针?我已经用 C# 完成了我所有的 .NET 编程(我做过的很少),并且我开始学习 F#,但是如果它得到完全支持并且有充分的文档记录,当然,我会试一试。
我将 C++/CLI 与 MFC 混合以利用 WPF 和 XAML,但我使用的是新的 C++ 2008 功能包——免费功能区组件。:)
我不会使用它,因为我不想被绑定到一个巨大的运行时。而且我不喜欢所有那些 ^ 指针的东西 :)
不过,我确实喜欢/怀念 .NET 提供的出色库。
我用它来支持遗留代码以及在托管代码和本机代码之间编写填充程序。喜欢VS11更好地支持它