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