<分区>
通常人们在用 C++ 设计适当的软件架构时也需要有很好的性能,进入过早优化的危险游戏,而不是在架构级别进行优化(这是一种非常好的和鼓励的过早优化形式) 他们在代码级别做出妥协,比如完全避免虚拟方法和接口(interface)、低级别的 hack 等。
有些人通过一种通常称为应用程序内联或统一构建的做法来避免这种情况,这基本上是生成一个或两个非常大的.cpp,其中包含所有 header 和.cpp从包含的整个项目中,然后将其编译为单个翻译单元。当涉及到内联虚拟方法(去虚拟化)时,这种方法非常可靠,因为编译器确实拥有进行所需优化的一切
问题对于链接时优化等更“优雅和现代”的方法,这种方法有什么缺点?