所以我刚刚阅读了各种来源的前向声明(例如谷歌C++风格指南),当我应该和不应该使用前向声明时,我非常困惑。关于前向声明的问题(C++)
一方面,如果我总是转发声明类,我将永远不会有循环依赖和更快的编译时间的麻烦。
但另一方面,我将不得不几乎完全使用指向对象的指针,这些指针看起来相当不安全,并且考虑到内存泄漏并且也不必复杂。
所以我应该使用前向声明,只要我可能或只有当它需要避免像循环依赖的东西?
另一个关于前向声明的问题。如果我正在与GLM(这是一个数学库)等外部库一起工作,并且我需要它在许多不同的类中,有没有办法提前声明那些是/它是否有意义呢?什么,我必须包括(GLM)
例子:
#include <glm.hpp>
#include <gtc/matrix_transform.hpp>
#include <gtc/type_ptr.hpp>
再举例来说,我会用这样的:
std::vector <glm::vec3> vertices;
_“......我将不得不几乎完全用指针来对象...”_不!引用也适用于前向声明。 –