2013-07-27 20 views
5

che visualizzo cocos2dx codice sorgente C++ e in essa ci sono molti posti in cui usanoUso C++ di classe Nome classe;

class Classname; 

ad esempio in linea CCNode.h 43

class CCCamera; 

Classname è il nome della classe che stanno utilizzando e più tardi non vedo alcun riferimento a ciò che non ho mai visto prima.

Mi piacerebbe sapere cosa significa.

+2

Sembra una dichiarazione __forward__. Vedi: [Quando utilizzare la dichiarazione in avanti?] (Http://stackoverflow.com/questions/553682/when-to-use-forward-declaration) – Blastfurnace

+1

Cosa ha detto @Blastfurnace. Ma tu ** veramente ** dovresti fare un po 'più di sforzo per presentare la tua domanda. Le parole chiave in maiuscolo non possono essere completate. – sehe

risposta

7

Questa è una dichiarazione di inoltro in modo che le importazioni effettive si verifichino nei file .cpp anziché nei file di intestazione. Questa è una pratica comune in C++ OOP.

Per una buona spiegazione, vedi questo post con una domanda simile C++ Forward declaration

Quando si effettua una dichiarazione in avanti, si sta informando il compilatore che si intende utilizzare qualcosa in anticipo. I take away importanti, come dichiarato nel link sopra, sono che le dichiarazioni forward spezzano i riferimenti ciclici e riducono i tempi di compilazione del compilatore.

Problemi correlati