我最近注意到,在编译大型项目(我一直在使用 Audacity 源代码)时,更改一个被许多其他文件引用的文件,比方说一个被几十个其他文件引用的工具栏小部件, 导致编译需要很长时间。如果您需要调整或调试这样的文件,可能需要几分钟或更长时间才能完成每个编译周期。
如果您要在引用工具栏的文件中使用指针,编译器是否仍需要重新编译包含对该类的引用的每个文件?
如果没有,它是否仍会按设计编译这些文件?
在任何现有的语言或框架中,是否可以有一个指向类原型(prototype)而不是实例的指针?
最佳答案
好吧,如果你改变了一个接口(interface),那么你就无能为力了;东西必须重新编译。但是,如果代码是使用 PIMPl design pattern 设计的那么实现更改通常不会导致大量重新编译。
请记住,即使在使用指针时,编译器通常也需要知道所指向对象的大小。 PIMPL 模式将“真实”对象隐藏在另一个指针后面。
关于c++ - 指向类的指针会增加模块化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18287301/