¿El operador Unary + realiza conversiones de tipo?
Hasta ahora estaba creyendo que no hay uso de unario+
operador.
Pero luego me encontré con el siguiente ejemplo:
char ch;
short sh;
int i;
printf("%d %d %d",sizeof(ch),sizeof(sh),sizeof(i)); // output: 1 2 4
printf("%d %d %d",sizeof(+ch),sizeof(+sh),sizeof(i)); // output: 4 4 4
Significa+
está haciendo conversión de tipo aquí?
Porque se comporta igual que seguir
printf("%d %d %d",sizeof((int)ch),sizeof((int)sh),sizeof(i)); // output: 4 4 4
Esto me obliga a pensar+
está haciendo conversión de tipo.
Pero luego lo pruebodouble
double f;
printf("%d %d",sizeof(+f),sizeof((int)f),sizeof(f)); // output: 8 4 8
Esto me obliga a repensar sobre unario+
operador.
Entonces mi segunda pregunta es: ¿unario+
el operador tiene un efecto especial ensizeof
¿operador?