Est-ce que Q_UNUSED a des effets secondaires?
Donné le morceau de code suivant:
void test(int var)
{
Q_UNUSED(var);
#ifdef SOMETHING
printf("%d",var);
//do something else with var...
#endif
}
Serait le Q_UNUSED
macro ont aucun effet si j'utilise le 'var' variable dans certains scénarios (comme dans l'exemple ci-dessus), ou il n'a pas d'effet quand j'ai supprimer les avertissements du compilateur pour les variables inutilisées?
Jusqu'à présent, j'observe qu'il n'a pas d'effet, mais je voudrais en être sûr.
source d'informationauteur Ilya Kobelevskiy
Vous devez vous connecter pour publier un commentaire.
Pas, dans de nombreux cas (par exemple le passage d'une simple variable de la macro). La définition est à l'intérieur de
qglobal.h
:Pour désactiver inutilisés variable avertissements. Vous pouvez utiliser la variable après cette macro sans aucun problème.
Cependant, si vous passez une expression ou autre chose pour la macro et le compilateur doit évaluer l'expression qu'elle peut avoir des effets secondaires† .