Sam*_*Sam 5 c++ oop class cocos2d-x
我正在查看cocos2dx c ++源代码,其中有很多地方使用它们
class Classname;
Run Code Online (Sandbox Code Playgroud)
例如在CCNode.h第43行
class CCCamera;
Run Code Online (Sandbox Code Playgroud)
Classname是他们正在使用的类的名称,后来我没有看到任何我之前从未见过的引用.
我想知道这意味着什么.
这是一个前向声明,因此实际导入发生在.cpp文件而不是头文件中.这是C++ OOP中的常见做法.
有关解释的详细信息,请参阅此帖子,其中包含类似的问题 C++ Forward声明
当您进行前向声明时,您将通知编译器您打算事先使用某些内容.如上面链接中所声明的那样,重要的收获是前向声明会破坏循环引用并减少编译器构建时间.