C/C++LI是非常强大的语言.它是唯一可以无缝组合托管和非托管代码的CLR语言.有多少软件开发人员(在本网站上)使用这种语言?你在什么样的项目中使用它?它是遗留代码的修改还是原始软件的创建?你能比较旧的Managed C和新的C/C++LI吗?您如何看待C/C++LI的当前质量和未来?
我用它来编写托管代码和本机代码之间的薄层集成.这就是全部.
其最着名的独特功能是能够无缝地钻研非托管代码并在整个过程中修改(或意外损坏)任何可写内存 – 这在一般编程中不是一个优势,但是当您需要它时,它很棒.但我想我会越来越少地需要它.您可以使用/ pure标志编译C/C++LI,但它确实成为一种全新的语言.
还有另外两个很大的独特功能:
>做有用的事情的析构函数.在C#中,析构函数是终结器.在C中,它是一个适当的确定性称为析构函数.这意味着C/C++LI具有最完整的基础结构,可以使用IDisposable. C#仅帮助客户端(通过using语句),但只有C/C++LI也可以帮助实现者.我希望也许有一天C#会吸收这个功能.
> Duck-typing模板,可与CLI泛型一起使用.另一件在C#中非常有用的东西,虽然它可以在没有历史包袱的情况下更加无缝地制作.
但是C#足够好,没有最后两件事,我不喜欢一般使用C/C++LI.