q_object q_disable_copy eventfilter c++ qt macros qtcore

c++ - q_disable_copy - qt object connect



¿Q_UNUSED tiene algún efecto secundario? (1)

Dado el siguiente fragmento de código:

void test(int var) { Q_UNUSED(var); #ifdef SOMETHING printf("%d",var); //do something else with var... #endif }

¿ Q_UNUSED macro Q_UNUSED tendría algún efecto si realmente utilizo la variable ''var'' en algún escenario (como en el ejemplo anterior), o si no tiene ningún efecto cuando suprimo las advertencias del compilador para las variables no utilizadas?

Hasta ahora observo que no tiene ningún efecto, pero me gustaría asegurarme.


No en muchos casos (por ejemplo, simplemente pasando una variable simple a la macro). La definición está dentro de qglobal.h :

# define Q_UNUSED(x) (void)x;

Para deshabilitar las advertencias de variables no utilizadas . Puede usar la variable después de esta macro sin ningún problema.

Sin embargo, si pasa una expresión u otra cosa a la macro y el compilador tiene que evaluar la expresión, puede tener efectos secundarios .