J'ai juste commencé à l'aide de Qt et remarqué que tous les exemples de définitions de classe ont la macro Q_OBJECT
à la première ligne. Quel est le but de cette macro préprocesseur?
Réponses
Trop de publicités?À partir de la documentation de Qt:
Le Méta-Objet Compilateur, moc, est l' programme qui gère de Qt C++ extensions.
L'outil moc lit un fichier d'en-tête C++. S'il en trouve une ou plusieurs classes des déclarations qui contient la macro q_object macro, il produit un fichier source C++ contenant les méta-code objet ces classes. Entre autres choses, méta-objet du code est nécessaire pour la les signaux et les slots mécanisme, l' run-time type information, et la dynamique du système de la propriété.
Il indique simplement le pré-compilateur que cette classe a des éléments d'interface et doit être exécuté par le biais de la "moc", vous n'aurez qu'à ajouter ce pour les classes qui utilisent le signal/slot mécanisme.
Mais il sera tranquillement ignoré dans les autres catégories, il ajoute juste le temps de construction.