今天的事实是,几乎所有为 PC、Xbox 或 PS3 发布的 AAA 视频游戏都是完全用 C++ 编写的。一些供应商表示他们不能迁移到 C#,因为他们内部重用的各种引擎的大型代码库已经在 C++ 中构建和测试(物理、渲染等)。在性能方面, C++ 代码比 C# 运行得更快是一个普遍接受的事实。
再次重申:为什么专业游戏开发行业通常使用 C++,我们为什么不使用?是不是因为一般的业务线应用程序不需要“您可以获得的最佳性能”和交易可靠性(内存泄漏、OOB、堆栈溢出)以换取“不重要”的性能?还是仅仅因为 C++ 通常比用 C# 编写的相同代码“更难维护”(模板、指针、malloc 等)?
还是因为在 C++ 中开发比在 C# 中开发相同的功能集“更耗时”,所以您无法实现尽可能多的功能?但即使在今天, UDK和CryENGINE等许多高端游戏开发工具包也是完全用 C++ 编写的,它们的功能集在任何平台上都是最好的。因此,如果 C++ 对这些公司来说不是“更难”、“限制”或“错误”,那么为什么它在游戏开发或科学/HPC 行业之外的使用如此之少呢?