c++ - 指向类的指针会增加模块化吗?

标签 c++ class pointers

我最近注意到,在编译大型项目(我一直在使用 Audacity 源代码)时,更改一个被许多其他文件引用的文件,比方说一个被几十个其他文件引用的工具栏小部件, 导致编译需要很长时间。如果您需要调整或调试这样的文件,可能需要几分钟或更长时间才能完成每个编译周期。

如果您要在引用工具栏的文件中使用指针,编译器是否仍需要重新编译包含对该类的引用的每个文件?

如果没有,它是否仍会按设计编译这些文件?

在任何现有的语言或框架中,是否可以有一个指向类原型(prototype)而不是实例的指针?

最佳答案

好吧,如果你改变了一个接口(interface),那么你就无能为力了;东西必须重新编译。但是,如果代码是使用 PIMPl design pattern 设计的那么实现更改通常不会导致大量重新编译。

请记住,即使在使用指针时,编译器通常也需要知道所指向对象的大小。 PIMPL 模式将“真实”对象隐藏在另一个指针后面。

关于c++ - 指向类的指针会增加模块化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18287301/

相关文章:

c++ - 为什么 GCC 会发出重复的 `ret` ?

c++ - 如何有条件地同时多线程和更新变量?

c++ - 在 C++ 中对结构体数组进行排序

JAVA——原始类型 VS 对象类型

c - 可能吗?将局部静态值的地址传递给主指针?

c - 如何增加指针值数组的索引?

android - boost C++ 和 Android 3

c# - 处理不同命名空间中重复类的最佳实践

javascript - 在使用 javascript 模块模式变体时访问父对象

c - 在函数中使用指针访问二维数组