在标准C ++或C#上使用C ++ / CLI有什么好处?

时间:2008-11-17 23:19:30

标签: c# .net c++ windows c++-cli

我没有看到任何真正的优势,除了你有一个C ++语法,以及它,如指针和析构函数。

4 个答案:

答案 0 :(得分:13)

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

  1. 对于C ++开发人员来说可能更自然(尽管我认为这可能不是真的)
  2. C ++ / CLI具有很好的桥接本机和托管环境的功能(使用'IJW' - 它只是工作 - 技术)
  3. 我认为Herb Sutter可能会给出最好的概述:

    A Design Rationale for C++/CLI

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

答案 1 :(得分:6)

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

在工作中我们发现C ++ / CLI作为C ++和.NET之间的粘合语言是有价值的,但我们不会将它用于除界面粘合之外的任何东西 - 在所有其他应用程序中,C#比C ++具有巨大的优势。

如果你指的是像亚当描述的那样的MS C ++扩展,那么没有理由不使用它们,如果它们让你的工作更容易。

答案 2 :(得分:1)

使用C ++ \ CLI的正当理由是将DotNet语言与Native C ++进行通信,例如,许多公司首先将他们的GUI迁移到.Net并在C ++中使用某些逻辑,而C ++ \ CLI是沟通的良好桥梁。两个技术,您也可以使用COM组件,但由于许多原因,它不是一个好的选择。

答案 3 :(得分:0)

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