抛开所有审美考虑...哪种选择更可取?我主要关心的是构建时间、保持代码的可读性和易于维护,当然还有编译。
我见过大多数书籍都在 .cpp 文件中定义所有内容,就像 C# 一样,但是……这不会缩短构建时间吗?好吧,很可能是非托管 C++ 基本原理不适用于托管 C++/CLI,但是请考虑一个转换场景:非托管 C++ 的项目类被移动到 C++/CLI 项目中,并且整个怪物构建正常,坐在那里等待一个勇敢的人(我,咳咳)将非托管类逐渐转换为托管类,当然还有支持测试工具。
我有点跑题了,但我希望您在回答时考虑我的异常情况(托管和非托管交互)。
最佳答案
.h 文件是预处理器的产物。当编译器开始编译代码时,它只是一大堆代码。 .h 文件的使用在 C++/CLI 中大大减少,您不再需要它来使声明对其他模块可用。在托管代码中,程序集中的元数据提供了它们。
C++/CLI 保留了 C++ 的构建模型,它一次编译一个源代码文件,需要一个链接器将代码粘合在一起。如果一个 项目的 C++/CLI 代码分布在多个源代码文件中,您可能仍然需要 .h 文件。
因此,只有在需要时才使用 .h 文件。对于 native 项目没有什么不同的建议。
关于c++-cli - C++/CLI : Define everything in . cpp 或在 .h 或 .cpp 中分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648837/