【发布时间】:2010-02-02 15:44:09
【问题描述】:
使用 C++/CLI 进行 100% 托管 开发有哪些优点(可能的缺点列表很长)(即使用“生成 ... 程序集,就像那些用... C#") 编写的?尤其是与 C# 相比(注意 C++/CLI : Advantages over C# 和 Is there any advantage to using C++/CLI over either standard C++ or C#? 主要是关于托管/非托管互操作)。
例如,下面是一些我想不到的:
C++-style references for managed types,不像完整的 non-nullable 引用那样优雅,但总比没有或使用 work-around 好。
比泛型更强大的模板
预处理器(这可能是个缺点!但宏对代码生成很有用)
引用类型的堆栈语义——自动调用IDisposable::Dispose()
通过 C++ 析构函数更轻松地实现 Dispose()
C# 3.0 添加了自动实现的属性,因此这不再是 C++/CLI 的优势。
【问题讨论】: