Унарный + оператор выполняет преобразования типов?

До сих пор я верил, что унар+ оператор.

Но потом наткнулся на следующий пример:

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

Значит ли это+ делает преобразование типов здесь?

Потому что он ведет себя так же, как следующий

printf("%d %d %d",sizeof((int)ch),sizeof((int)sh),sizeof(i)); // output: 4 4 4

Это заставляет меня думать+ делает преобразование типов.

Но потом я примеряюdouble

double f;
printf("%d %d",sizeof(+f),sizeof((int)f),sizeof(f));  // output: 8 4 8

Это заставляет меня переосмыслить+ оператор.

Итак, мой второй вопрос: один ли+ Оператор имеет особый эффект вsizeof оператор?

Ответы на вопрос(4)

Ваш ответ на вопрос