5

我没有看到任何真正的优势,除了您拥有 C++ 语法,以及诸如指针和析构函数之类的东西。

4

4 回答 4

13

如果您在谈论为什么要使用 C++/CLI 而不是 C#,我认为主要原因是:

  1. 对于 C++ 开发人员来说,这可能更自然(尽管我认为这可能不是真的)
  2. C++/CLI 具有非常好的桥接本机和托管环境的功能(使用“IJW”-它只是工作-技术)

我认为 Herb Sutter 可能给出了最好的概述:

C++/CLI 的设计原理

如果您想知道为什么要在 C#/.NET 上使用本机 C++,这归结为为什么您需要托管环境(安全、更容易开发)而不是本机代码(绝对控制,可能具有速度优势)。每个都有争论,答案实际上取决于您想要开发什么以及您的市场可能是什么。

于 2008-11-17T23:38:03.313 回答
6

我认为您指的是 C++/CLI 并将其与 C# 进行比较。C++/CLI 不是 C++ 的“风味”。它是一种全新的语言,具有完全不同的标准库和完全不同的约定。

在工作中,我们发现 C++/CLI 作为 C++ 和 .NET 之间的胶水语言很有价值,但除了接口胶水之外,我们不将它用于任何其他用途 - 在所有其他应用程序中,C# 比 C++ 具有巨大优势。

如果您指的是 Adam 所描述的 MS C++ 扩展,那么如果它们使您的工作更轻松,就没有理由不使用它们。

于 2008-11-17T23:36:50.790 回答
1

使用 C++\CLI 的真正好理由是将 DotNet 语言与 Native C++ 进行交流,例如,许多公司首先将其 GUI 迁移到 .Net 并在 C++ 中使用一些逻辑,而 C++\CLI 是在两种技术之间进行交流的良好桥梁,您也可以为此使用 COM 组件,但由于许多原因,这不是一个好的选择。

于 2011-01-26T16:45:18.040 回答
0

我不认为将不同风格的 C++ 相互比较与将 C++ 与 C# 比较是同一个问题。与不同风格的 C++ 之间的差异相比,C# 是一个非常不同的野兽。

于 2008-11-17T23:21:41.443 回答