2013-07-27 4 views
5

I cocos2dx c bin sehen ++ Quellcode und darin gibt es viele Orte, an denen sieC++ Verwendung der Klasse Klassenname;

class Classname; 

zB in CCNode.h Linie 43

class CCCamera; 

Klassenname Name der Klasse ist verwenden sie verwenden und später sehe ich keinen Hinweis darauf, den ich noch nie zuvor gesehen habe.

Ich würde gerne wissen, was das bedeutet.

+2

Klingt wie eine __forward-Deklaration__. Siehe: [Wann wird die Vorwärtsdeklaration verwendet?] (Http://stackoverflow.com/questions/553682/when-to-use-forward-declaration) – Blastfurnace

+1

Was @Blastfurnace sagte. Aber Sie ** wirklich ** sollten sich etwas mehr Mühe geben, Ihre Frage zu stellen. Großgeschriebene Keywords können einfach nicht erstellt werden. – sehe

Antwort

7

Dies ist eine Vorwärtsdeklaration, sodass die tatsächlichen Importe in den CPP-Dateien statt in den Headerdateien auftreten. Dies ist eine gängige Praxis in C++ OOP. siehe

Für eine gute Erklärung, diesen Beitrag mit einer ähnlichen Frage C++ Forward declaration

Wenn Sie eine Vorwärtsdeklaration machen, werden Sie informiert den Compiler Sie beabsichtigen, etwas im Voraus zu verwenden. Die wichtigen Take-Aways, wie im obigen Link erklärt, sind, dass Forward-Deklarationen zyklische Referenzen unterbrechen und die Compiler-Build-Zeiten reduzieren.