所以我剛剛閱讀了各種來源的前向聲明(例如谷歌C++風格指南),當我應該和不應該使用前向聲明時,我非常困惑。關於前向聲明的問題(C++)
一方面,如果我總是轉發聲明類,我將永遠不會有循環依賴和更快的編譯時間的麻煩。
但另一方面,我將不得不幾乎完全使用指向對象的指針,這些指針看起來相當不安全,並且考慮到內存泄漏並且也不必複雜。
所以我應該使用前向聲明,只要我可能或只有當它需要避免像循環依賴的東西?
另一個關於前向聲明的問題。如果我正在與GLM(這是一個數學庫)等外部庫一起工作,並且我需要它在許多不同的類中,有沒有辦法提前聲明那些是/它是否有意義呢?什麼,我必須包括(GLM)
例子:
#include <glm.hpp>
#include <gtc/matrix_transform.hpp>
#include <gtc/type_ptr.hpp>
再舉例來說,我會用這樣的:
std::vector <glm::vec3> vertices;
_「......我將不得不幾乎完全用指針來對象...」_不!引用也適用於前向聲明。 –