什么是C++和C++ CLI之间的区别

Geo*_*ton 7 c++ c++-cli

我正在学习C++(显然是CLI),每当我发布一个问题,说我正在使用C++时,有人会说我不是在使用C++,而是使用C++/CLI.我不太确定有什么区别,因为我对此极为陌生,但它似乎让每个人都感到不安.任何人都可以对差异有所了解吗?

作为第二个注释,我问这个的原因是因为有人建议我使用CLI来使我的C#项目可以访问一个方法.通过我的构造函数,我的C++项目中的一切运行正常,但现在我希望能够从我的C#项目中调用相同的方法.

Tim*_*dge 5

C++ CLI 在“公共语言接口”上运行。这基本上意味着当它被编译时,编译后的代码最终会像通过 C# 生成的字节码一样分配。

C++ CLI 添加了大量扩展,例如 C++ 中不存在的垃圾收集。C++ CLI 还允许“安全”的 C++ 代码。在这种模式下,您不能使用指针。C++ 中没有“安全”代码之类的东西,它都是“不安全”的。C++ CLI 可以很好地连接 .NET 代码和 C++ 库,但除此之外,我还没有找到它的用途。

维基百科页面有一个很好的概述:http : //en.wikipedia.org/wiki/C%2B%2B/CLI

是的,他们跳到你身上是正确的,因为他们能够用 C++ 编程 CLI 不允许你用 C++ 编程......它们的不同之处足以让你不能将它们混合在一起。