实际工程中有时可能会遇到一个项目中使用了另一个项目中的函数,那么我们直接添加相关的引用即可。
但是如果两个项目A,B之间相互引用,且A项目编译在B项目之前,直接相互引用就会导致混乱的发生。
此时可以采用函数指针的方式,在A中声明函数指针,在B中为其赋值,这样A项目中使用该函数指针就可以调用B项目的函数了。
(前提是把函数指针声明为静态全局变量,然后在B的初始化中赋值,否则可能会导致后续操作中调用了空指针的情况)。
另外一种方法请看后续文章中 C++ 两个类相互引用 中使用虚函数的方法。
本文探讨了当两个项目互相依赖时如何避免循环引用的问题。通过使用函数指针或静态全局变量的方法可以在不直接互相包含的情况下实现跨项目调用。此外还提到了另一种解决方案——使用虚函数。
实际工程中有时可能会遇到一个项目中使用了另一个项目中的函数,那么我们直接添加相关的引用即可。
但是如果两个项目A,B之间相互引用,且A项目编译在B项目之前,直接相互引用就会导致混乱的发生。
此时可以采用函数指针的方式,在A中声明函数指针,在B中为其赋值,这样A项目中使用该函数指针就可以调用B项目的函数了。
(前提是把函数指针声明为静态全局变量,然后在B的初始化中赋值,否则可能会导致后续操作中调用了空指针的情况)。
另外一种方法请看后续文章中 C++ 两个类相互引用 中使用虚函数的方法。
5891
5189

被折叠的 条评论
为什么被折叠?